Ctrl-Insert를 사용하여 XTerm에서 복사하는 방법은 무엇입니까?

Ctrl-Insert를 사용하여 XTerm에서 복사하는 방법은 무엇입니까?

Firefox와 같은 응용 프로그램에서 Ctrl- InsertShift-는 - 및 - Insert와 유사하게 작동합니다 (수정됨 )CtrlcCtrlv중학교클립보드), 그러나 XTerm에서는아니요처럼 일하다공통점 Ctrl—— 그리고 ——ShiftcCtrlShiftv:

  1. Ctrl- Insert클립보드를 변경하지 않고 ;5~현재 프롬프트에 그대로 인쇄합니다.
  2. ShiftInsert-붙여넣기기초적인보조 클립보드 대신 클립보드.

내가 이 문제를 해결할 수 있을까.inputrc또는 다른 것? 2행정을 하는 것이 더 좋습니다.크로스 플랫폼 잘라내기 및 붙여넣기 단축키어디에나.

답변1

xterm의 규칙은 Firefox나 웹이 발명되기 수년 전에 개발되었습니다.애플리케이션 리소스. 이러한 정보는 /usr/share/X11/app-defaults/XTerm와 같은 파일과 X11 서버를 사용하여 저장된 정보를 포함하여 여러 위치에서 병합됩니다 xrdb -q. 파일에 다음 콘텐츠를 배치하여 이러한 리소스를 재정의할 수 있습니다 ~/.Xdefaults.

XTerm*VT100.Translations:       #override\n\
 Shift Ctrl <KeyPress> v: insert-selection(CLIPBOARD)\n\
 Shift Ctrl <KeyPress> c: copy-selection(CLIPBOARD)\n

ctrl-shift-v이는 클립보드 내용 삽입에 바인딩됩니다 . 정확히 무엇을 원하는지 잘 모르겠습니다. 확인해보세요.매뉴얼 페이지 기능과 PRIMARY, SECONDARY 및 CUT_BUFFER0 선택에 사용됩니다.


다음을 추가할 수도 있습니다(이전 줄의 백슬래시를 잊지 마세요).

Shift <Key>Insert: insert-selection(SECONDARY)\n\
Ctrl  <Key>Insert: copy-selection(SECONDARY)\n

답변2

이는 다음과 유사합니다.xterm(Awesome, Debian, VirtualBox)에서 텍스트를 복사하는 방법은 무엇입니까?, 일부 추천 답변 포함.

그러나 백그라운드를 통해 xtermX 이벤트가 수신되고( 를 사용하여 볼 수 있음 xev) 이러한 이벤트는 다르게 처리됩니다.

  • xterm 의 경우 controlinsert제어 키 및 삽입 키에 대한 이벤트를 살펴보고 애플리케이션에 보낼 문자 시퀀스를 구성합니다. 예를 들어 다음과 같습니다.^[[28;5~
  • shiftinsert다르게 처리되기 때문에기본translations자원xterm용. 이것은 X Toolkit 라이브러리의 기능입니다.앞으로xterm은 이벤트를 볼 수 있습니다. 내부에translations리소스는 다음 줄입니다.
      Shift 삽입: 선택 항목 삽입(SELECT, CUT_BUFFER0) \n\

이것SELECT이 자원의 키워드는 xterm에 의해 자원에 따라 PRIMARY 또는 CLIPBOARD로 해석됩니다 selectToClipboard(또는클립보드로 선택메뉴 아이템). 그런데 CLIPBOARD는 두 번째 선택이 아닙니다. 바라보다2.6.1.2. 두 번째 선택ICCM의 2차 선택에 대한 설명을 알아보세요.

활성화할 수 있습니다.selectToClipboard리소스를 파일에 추가하세요 $HOME/.Xdefaults(또는 다른 리소스 파일, 심지어 사용 xrdb).

xterm*selectToClipboard: true

controlshift수정자(순서 상관없이)와 키를 사용하여 번역을 추가할 수도 있습니다 insert. 다른 질문에서 내 답변을 조정합니다.

xterm*VT100.Translations: #override \
                 Shift <Key>Insert:    insert-selection(SELECT) \n\
                 Ctrl <Key>Insert:     copy-selection(SELECT) \n\
                 Ctrl Shift <Key>V:    insert-selection(SELECT) \n\
                 Ctrl Shift <Key>C:    copy-selection(SELECT)

X 툴킷의 번역 파서는 키워드의 다양한 철자를 인식합니다. 따라서 Key및와 동일합니다. 하지만 그것이 열쇠를 아는 유일한 방법입니다.KeyPressKeyDownCtrlcontrol

때를할 수 있다controlC및 추가 controlV(기본적으로 이러한 제어 키는 터미널에서 유용하므로 일반적으로 권장되지 않음):

$ stty -a
speed 38400 baud; rows 40; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^H; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke

추가 자료:

관련 정보