나는 내에서 다음 바인딩을 수행하려고합니다 ~/.inputrc
.
(Ctrl+Del): kill-word
(Ctrl+Backspace): backward-kill-word
(Ctrl+forward arrow): forward-word
(Ctrl+back arrow): backward-word
(Home): beginning-of-line
(End): end-of-line
실제 키 시퀀스 기호는 무엇을 사용해야 합니까?
답변1
이 같은:
"\e[1;5C": forward-word
"\e[1;5D": backward-word
"\e[H": beginning-of-line
"\e[F": end-of-line
"\eOH": beginning-of-line
"\eOF": end-of-line
"\e[1~": beginning-of-line
"\e[4~": end-of-line
터미널 설정과 사용 여부에 따라 및 의 변형이 screen
전송 xterm
되고 수정 된 커서 키는 일관된 값을 전송합니다. 변경할 수 있습니다( 다른 터미널에서는 일반적으로 사용하지 않음).HomeEndControlxterm
통과하지 않으면 control/Del 및 control/backspace가 작동하지 않을 수 있습니다.델6키 편집 키보드의 왼쪽 하단 키를 참조하고 있습니다. xterm의 경우 "\e[3;5~"
.
Putty에서는 제어 수정자를 사용하므로 "ctrlarrows"에 대한 옵션이 거의 없습니다.정상그리고애플리케이션커서 키의 모드입니다. 즉, "\e[C"(일반)와 "\eOC"(응용 프로그램) 간에 전환할 수 있습니다. 추가적으로, 위에서 언급한 "\e[H"를 얻기 위해 home/end를 (퍼티 개발자들이 "rxvt"라고 부르는 것으로) 변경할 수 있습니다.
추가 자료:
답변2
기능 키와 커서 키는 ESC(이스케이프) 문자로 시작하는 이스케이프 시퀀스를 보냅니다. Ctrl+ 를 누른 V다음 키나 키 코드를 누르세요. 이렇게 하면 ESC 문자가 그대로 삽입되고 그 뒤에 이스케이프 시퀀스의 나머지 문자가 삽입됩니다.
Ctrl예를 들어 ++ V Ctrl를 누르면 Left가 삽입된다고 가정해 보겠습니다 ^[O5D
. ^[
이스케이프 문자입니다. 그런 다음 .inputrc
그것을 결합합니다.
"\eO5D": backward-word
특정 키에 대한 이스케이프 시퀀스는 터미널에 따라 다르므로 사용하는 터미널과 구성 방법에 따라 동일한 기능에 여러 이스케이프 시퀀스가 바인딩될 수 있습니다. 좋은 소식은 일반적으로 서로 다른 터미널의 서로 다른 키에 해당하는 이스케이프 시퀀스가 없다는 것입니다.
많은 터미널은 모든 키와 키에 대해 서로 다른 이스케이프 시퀀스를 보내지 않습니다. 예를 들어, +와 ++가 동일한 이스케이프 시퀀스를 Ctrl보내는 것을 알 수 있습니다 . 터미널 구성에서 이 문제를 해결할 수 있는 방법이 있을 수도 있고 없을 수도 있습니다.LeftCtrlShiftLeft이 게시물Emacs에 대한 토론. 당신은 또한 볼 수 있습니다GNU 화면 "명령 문자"를 정의하기 위한 포괄적인 가능성 세트를 제공하는 방법은 무엇입니까?그리고키보드 입력과 텍스트 출력은 어떻게 작동합니까?그리고GNU 화면 "명령 문자"를 정의하기 위한 포괄적인 가능성 세트를 제공하는 방법은 무엇입니까?이 주제에 대한 일부 배경 정보입니다.