lesskey: less에 Alt+오른쪽 키 바인딩 추가

lesskey: less에 Alt+오른쪽 키 바인딩 추가

cat -vte+를 눌렀을 때 터미널 에뮬레이터가 보낸 이스케이프 코드를 본 적이 있습니다 .altright

❯ cat -vte 
^[[1;3C

그런 다음 lesskey 파일에 이 이스케이프 코드를 추가했습니다 ~/.less.

\e[1;3C  forw-scroll

마지막으로 다음을 시작합니다 less.

LESSKEY=~/.less less some_file

alt하지만 +를 누르면 right작동하지 않습니다.

답변1

수동상태:

lesskey 소스 파일을 생성하여 자신만의 less 명령을 정의할 수 있습니다. [...]

환경변수인 경우레 카인설정되면 less는 이를 lesskey 소스 파일의 이름으로 사용합니다. 그렇지 않으면 less는 표준 위치에서 lesskey 소스 파일을 찾습니다.Unix 시스템에서 less는 "$XDG_CONFIG_HOME/lesskey" 또는 "$HOME/.lesskey"라는 lesskey 파일을 찾습니다.. [...]

이전 버전의 less(v582 이전)는 lesskey 프로그램에서 생성된 바이너리 형식의 lesskey 파일을 사용했습니다. 더 이상 lesskey 프로그램을 사용할 필요가 없습니다..

그리고 변수의 정의는 다음과 같습니다 LESSKEY.

LESSKEY
기본 lesskey 바이너리의 이름입니다. ("$LESSKEYIN"이 있는 경우에는 사용되지 않습니다.)

따라서 내가 이해한 바로는 귀하 LESSKEY의 버전이 582 이후이기 때문에 변수를 정의할 필요가 없습니다. 일반 텍스트 ~/.lesskey파일만 있으면 충분합니다. (P.S. 환경변수는 로 정의해야 합니다 export VARIABLE=value.)


이제 다음 구성을 사용하여 성공적으로 작동하게 만들었습니다 Alt( 명령을 Right arrow사용한 후 이지만 필요하지 않음).~/.lesskeylesskey

#command
^[[ forw-scroll

...하지만 다른 화살표 키와도 작동합니다.


화살표 키 대신 문자를 바인딩할 수 있습니다. 기존 기능을 재정의할 수 있다는 점을 기억하세요.

작동하지 않는 m캐릭터 를 선택했다고 가정해 보겠습니다 . ^[\kr먼저 다음을 사용하여 8진수 값을 찾습니다.

$ echo m | od -b | head -n1 | cut -d' ' -f2
155

그런 다음 .lesskey:

#command
^[\155 forw-scroll

Alt이제 +를 누르면 m원하는 결과를 얻을 수 있습니다.


less내 버전이 551이므로 버전 590에 대해 테스트되지 않았습니다 .

관련 정보