Ctrl-Left, Ctrl-Right를 인식하도록 less를 구성하는 방법

Ctrl-Left, Ctrl-Right를 인식하도록 less를 구성하는 방법

맨페이지에는 less행 편집(예: 검색 문자열 입력)을 수행할 때 CtrlLeft및 를 사용하여 CtrlRight커서를 한 단어로 이동할 수 있다고 나와 있습니다.

^LEFTARROW [ ESC-b or ESC-LEFTARROW ]
     (That is, CONTROL and LEFTARROW simultaneously.)  Move the
     cursor one word to the left.

이 작업을 시도하면 터미널에서 보낸 제어 시퀀스의 인쇄된 표현이 입력됩니다. CtrlLeft를 입력 ESC[1;5D하고 Ctrl-오른쪽을 눌러 를 입력하세요 ESC[1;5C.

내 터미널은 각각 ^[[1;5D과 를 보내 ^[[1;5C도록 구성되어 있으며 이를 터미널에 넣어서 쉘(Bash)에 있을 때 Readline이 축어 점프를 수행합니다.CtrlLeftCtrlRight~/.inputrc

# Ctrl-Left
"\033[1;5D": backward-word
# Ctrl-Right
"\033[1;5C": forward-word

아마도 less다른 제어 시퀀스를 기대하고 있습니까? Vim이나 Readline에 문제가 생길까 봐 터미널에서 전송한 이스케이프 시퀀스를 변경하는 것이 조금 망설여지지만 less시도해 보고 싶습니다.

답변1

시퀀스가 "단어 오른쪽" 으로 \e[1;5D실행 되도록 키 바인딩을 less로 구성합니다.word-left\e[1;5C

파일에 ~/.lesskey다음을 추가하세요.

#line-edit
\e[1;5D    word-left
\e[1;5C    word-right

#line-edit섹션이 이미 있는 경우 필요한 줄을 추가합니다.

그런 다음 실행lesskey. 동반 프로그램은 (사람이 읽을 수 있는 구문으로) 사용된 바이너리 형식으로 변환합니다 ~/.lesskey.~/.lessless

관련 정보