URxvt로 복사 및 붙여 넣기


27

debian jessie에서 URxvt 9.20을 사용하고 있으며 gnome-terminal에 익숙한 것처럼 텍스트를 복사하여 붙여 넣는 방법을 찾고 있습니다 ( Ctrl+ Insert복사, Shift+ Insert붙여 넣기).

그것은 다른 urxvt 콘솔 내에서 작동 하지만 urxvt와 iceweasel 사이에서는 작동하지 않습니다.

나는의 설명서에 따라 시도 아치 리눅스 (실제로 사용하지 않더라도,하지만 작동하지 않습니다 Shift+ Ctrl+ C/ V그것은 가치가 시도했다).

.Xresources :

! ******************
! urxvt config
! ******************

! Disable Perl extension
! If you do not use the Perl extension features, you can improve the security
! and speed by disabling Perl extensions completely. 
URxvt.perl-ext:
URxvt.perl-ext-common:

! Font spacing
! By default the distance between characters can feel too wide. It's controlled
! by this entry: 
! URxvt.letterSpace: -1

! -- Fonts -- !
URxvt.font:xft:Monospace:pixelsize=13
URxvt.boldfont:xft:Monospace-Bold:pixelsize=13
!URxvt*font:  -xos4-terminus-medium-*-*-*-14-*-*-*-*-*-iso8859-15,xft:terminus:pixelsize:12
!URxvt*boldFont:  -xos4-terminus-bold-*-*-*-14-*-*-*-*-*-iso8859-15,xft:terminus:bold:pixelsize:12
!URxvt*italicFont:  xft:Bitstream Vera Sans Mono:italic:autohint=true:pixelsize=12
!URxvt*boldItalicFont:  xft:Bitstream Vera Sans Mono:bold:italic:autohint=true:pixelsize=12

! Disable scrollbar
!URxvt*scrollBar: false

! Scrollbar style - rxvt (default), plain (most compact), next, or xterm
URxvt.scrollstyle: plain

! Background color
!URxvt*background: black
URxvt*background: #1B1B1B

! Font color
!URxvt*foreground: white
URxvt*foreground: #00FF00

! Other colors
URxvt*color0: black
!URxvt*color1: red3
URxvt*color1: #CD0000
URxvt*color2: green3
!URxvt*color3: yellow3
URxvt*color3: #C4A000
URxvt*color4: blue2
!URxvt*color4: #3465A4
URxvt*color5: magenta3
URxvt*color6: cyan3
URxvt*color7: gray90
URxvt*color8: grey50
URxvt*color9: red
URxvt*color10: green
URxvt*color11: yellow
!URxvt*color12: blue
URxvt*color12: #3465A4
URxvt*color13: magenta
URxvt*color14: cyan
URxvt*color15: white
! ******************
! /urxvt config
! ******************

마우스로 텍스트를 선택하여 복사하고 가운데 클릭으로 붙여 넣을 수 있다는 것을 알고 있습니까? 그렇지 않으면 충분합니까?
terdon

2
여기서 문제는 두 프로그램이 서로 다른 X-Windows 선택을 사용하고, 기존 프로그램 PRIMARY은 Shift + Insert를 사용하여 선택을 사용하고 , 다른 시스템의 키 바인딩을 모방하려고하는 새 프로그램 CLIPBOARD은 동일한 키 바인딩에 대한 선택을 붙여 넣습니다 . GTK +에서는 PRIMARY마우스를 사용하지 않고 붙여 넣기가 더 어려워졌습니다 (@terdon과 같은 중간 클릭 또는 세 번째 버튼 에뮬레이션이 켜져있는 경우 왼쪽 + 오른쪽 클릭). 그러나 이것이 왜 프로그램이 데이터를 전달하지 않는지 설명하지만 아치 위키 제안이 작동하지 않는 이유가 궁금합니다.
njsg 2016 년

ArchWIki의 제안을 어떻게 시도 했습니까? 그래픽 로그인 화면을 사용하여 X를 시작하는 경우 다음을 사용하여 X 자원을 다시로드 xrdb해야합니다 (이것은 xrdb ~.Xresources비슷 해야합니다 ). 어느 쪽이든 다시 시작해야합니다 urxvt. 일부 배포판에서는 perl 확장명을 가진 별도의 패키지를 설치해야 할 수도 있지만 이것은 rxvt-unicode데비안 의 기본 패키지에 포함되어있는 것 같습니다 (실수 일 수도 있습니다).
njsg 2016 년

1
귀하의 의견에 감사드립니다. 마우스로 선택하고 중간 클릭으로 붙여 넣기가 실제로 작동합니다. 아아, 내가 성취하고 싶지 않은 것, 나는 익숙한 것처럼 Ctrl + Insert / Shift + Insert를 사용하고 싶다. (i3wm을 사용합니다.)
Thomas John

@njsg 기본 / 클립 보드 차이점을 설명해 주셔서 감사합니다. "커스텀 키 바인딩"에서 ArchWiki에 언급 된 Perl 확장을 시도했지만 차이가 없습니다 (물론 사용하기 전에 .Xresources의 "Perl 확장 비활성화"부분에 대해서는 언급했습니다). -예, $ xrdb -merge ~/.Xresource먼저했습니다-예, urxvt를 다시 시작하거나 새로운 urxvt 터미널 창을 열었습니다. 이는 가장 중요한 포인트를 언급하는 것을 잊어 버린 것과 같은 효과가 있습니다. 데스크톱 환경이 설치되어 있지 않습니다. m Windows 관리자 (i3wm) 만 사용-그래픽 로그인 관리자를 사용합니다
Thomas John

답변:


16

불행히도 X 윈도우 시스템에는 여러 가지 복사-붙여 넣기 메커니즘이 있습니다.

대부분의 구식 X 응용 프로그램과 마찬가지로 Rxvt는 기본 선택을 사용합니다. 일반적으로 마우스로 무언가를 선택하면 마우스가 기본 선택에 자동으로 복사되고 가운데 클릭하여 붙여 넣기를하면 기본 선택을 붙여 넣습니다.

CtrlGnome-terminal 및 Firefox와 같은 최신 GUI 툴킷을 사용하는 응용 프로그램의 + CCtrl+ V(또는 기타 키 바인딩)는 클립 보드에서 복사 / 붙여 넣기합니다.

선택 작업을 용이하게하는 도구가 있습니다. 특히, 마우스로 선택하든 Ctrl+를 누르 든간에 단일 선택 항목 만 복사하려는 경우 자동 잘라내기를C 실행할 수 있습니다 ( 사용자의 데스크탑 환경의 시작 프로그램에서 시작). 선택 사항 중 하나를 선택하여 자동으로 다른 항목으로 복사합니다..xinitrc


20

텍스트를 붙여 넣으려면 urxvt / rxvt-unicode에서 middle buttonPRIMARY 선택 항목 을 붙여넣고 Alt/Meta+ middle button를 사용 하여 CLIPBOARD 를 붙여 넣을 수 있습니다 .

복사를 위해 터미널에 텍스트를 표시하면 PRIMARY 선택에 복사됩니다. CLIPBOARD 선택에 복사하려면 일부 작업이 필요합니다. 나는 당신이 rxvt-unicode-9.19에 포함 된 스크립트와 링크 한 Archlinux 페이지의 정보를 결합하고 다음과 같은 스크립트로 끝났습니다 : https://gist.github.com/xkr47/98224ed6b0860cb55ec0 . 그것은 하나를 사용할 수 있습니다 Ctrl+ InsertCtrl+ Shift+ c'클립 보드에 현재 선택한 텍스트를 복사합니다.

이것이 도움이되기를 바랍니다.

기록 상으로는 데스크톱 환경도 실행하지 않습니다. 창 관리자로 Sawfish를 사용합니다.

: "xclip"프로그램을 사용하여 터미널에서 클립 보드를 모니터링 할 수 있습니다.

while :; do echo -ne '\033[31;1mCLIPBOARD: ' ; xclip -o -sel c ; echo ; echo -ne '\033[32;1mPRIMARY:   ' ; xclip -o -sel p ; echo ; echo -e '\033[m--------' ; sleep 1 ; done

또는 "xsel"프로그램 사용 :

while :; do echo -ne '\033[31;1mCLIPBOARD: ' ; xsel -b -o ; echo ; echo -ne '\033[32;1mPRIMARY:   ' ; xclip -p -o ; echo ; echo -e '\033[m--------' ; sleep 1 ; done

부가 주제 : Emacs에서 기본 및 CLIPBOARD 선택이 작동하는 방법에 대한 정보 : emacswiki.org/emacs/CopyAndPaste
Jonas Berlin

Alt / Meta + 가운데 버튼이 데비안에서 작동합니다
Jing

이것이 정답입니다.
Winny

15

복사 / 붙여 넣기 PRIMARY(사용자가 일부 데이터를 선택할 때 사용) 및 CLIPBOARD(사용자가 일부 데이터를 선택하고 클립 보드에 "복사"하도록 요청하는 경우 (예 : 호출 )에 대한 기본 제공 메커니즘 이 있습니다. 응용 프로그램의 "편집"메뉴에서 "복사"를 선택하십시오. X의 다른 클립 보드에 대해 자세히 알아보십시오 .

들어 CLIPBOARD그것이 버퍼 CTRL+META+C(인 CTRL+ALT+C복사하기위한 표준 PC 키보드 용)와 CTRL+META+V( CTRL+ALT+V) 붙여 넣기합니다.

urxvt man의 인용문 :

선택 : 텍스트 선택 및 붙여 넣기

텍스트 선택 및 삽입 / 붙여 넣기 메커니즘의 동작은 xterm (1)과 유사합니다.

선택 :

영역의 시작 부분을 마우스 왼쪽 버튼으로 클릭하고 영역의 끝으로 끌어다 놓습니다. 표시된 영역을 확장하려면 마우스 오른쪽 버튼을 클릭하십시오. 단어를 선택하려면 왼쪽 두 번 클릭하십시오. 자원 tripleclickwords에 의해 수정되지 않은 경우 왼쪽 세 번 클릭하여 전체 논리 행 (여러 화면 행에 걸쳐있을 수 있음)을 선택하십시오.

메타 키 (또는 메타 + Ctrl 키) (컴파일 : 프릴)를 누른 상태에서 선택을 시작하면 일반 선택 대신 사각형 선택이 만들어집니다. 이 모드에서는 선택한 모든 행이 선택에서 고유 한 행이되고 후행 공백이 시각적으로 밑줄로 표시되어 선택에서 제거됩니다.

붙여 넣기 :

urxvt 창에서 마우스 가운데 버튼을 눌렀다 놓으면 PRIMARY 선택 값 (또는 메타 수정자가있는 CLIPBOARD)의 값이 키보드에서 입력 된 것처럼 삽입됩니다.

Shift-Insert를 누르면 PRIMARY 선택 값도 삽입됩니다.

rxvt-unicode는 바인딩 Ctrl-Meta-c를 제공하고 CLIPBOARD 선택과 상호 작용합니다. 첫 번째 바인딩은 내부 선택의 값을 CLIPBOARD 선택에 복사하고 두 번째 바인딩은 CLIPBOARD 선택의 값을 삽입합니다.


왜 맨 페이지에 솔루션이 있다고 생각하지 않습니까? 이제 모든 것이 분명합니다! 고맙습니다!
Enrico Maria De Angelis

1
그건 그렇고, 마우스 오른쪽 버튼을 클릭하고 붙여 넣기 전에 무언가 선택할 때 기본 선택과 클립 보드 중 어느 것을 붙여 넣었는지 잊어 버렸습니다 . 이제 명확합니다 : beforePRIMARY .
Enrico Maria De Angelis

12

선택-클립 보드 펄 확장을 사용하여 urxvt를 기본 및 클립 보드 모두에 복사 할 수 있습니다. 그러면 동기화 상태가 유지되므로 urxvt에서 한 번만 복사하면 둘 중 하나를 사용하는 응용 프로그램에서 작동합니다.

URxvt.perl-ext-common: selection-to-clipboard

2
이 확장에 대한 단축 키를 변경할 수 있습니까? 기본 ctrl-alt-c / v를 좋아하지 않습니다. ctrl-shift-c / v를 갖고 싶습니다.
Trismegistos

3
@Trismegistos, 여기
코더
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.