나는 그놈 터미널 2.7.3과 zsh 4.3.9(x86_64-unknown-linux-gnu)를 사용하고 있습니다.
Home
그리고 End
작동하지 않습니다. 눌러도 아무 일도 일어나지 않고 아무 것도 표시되지 않습니다. 그러나 (쉘 출력의 시작 부분으로 스크롤)을 누르면 작동하며 shift + Home
다른 GUI 프로그램에서도 작동합니다. 나는 구글링을 해서 다음을 시도했다. 변경사항을 유지하세요.:(
885 bindkey "\e[1~" beginning-of-line
886 bindkey "\e[H" beginning-of-line
887 bindkey "\e1~" beginning-of-line
888 bindkey "\eH" beginning-of-line
889 bindkey "\e[0H" beginning-of-line
PS: 마지막 탭에서 키를 누르면 화면에 인쇄가 Ctrl + pagedown
나타납니다 . ;5~
이것이 어떤 단서를 제공합니까?
답변1
기능 키와 커서 키에 의해 전송된 이스케이프 시퀀스는 이스케이프 문자와 인쇄 가능한 문자로 구성됩니다. Ctrl+를 누른 V다음 을 누르세요 Home. 문자 그대로 이스케이프 시퀀스가 삽입됩니다. 그런 다음 bindkey
지시어를 ~/.zshrc
.
지시문은 다음과 같을 수 있습니다( O
대신 0
).
bindkey '\e[OH' beginning-of-line
bindkey '\e[OF' end-of-line
답변2
와 for 및 각각의 시퀀스를 얻으려면 를 눌렀다 CTRL-v
가 놓은 다음 Home
또는 키를 눌러야 한다는 것을 알았습니다 . 파일 에 다음 줄을 추가하면 문제가 해결되었습니다.End
^[[H
^[[F
Home
End
.zshrc
bindkey '^[[H' beginning-of-line
bindkey '^[[F' end-of-line
답변3
다음 줄을 추가한 /etc/zshrc
다음 실행합니다 source /etc/zshrc
(다음에서 가져옴).여기)
bindkey '\e[1~' beginning-of-line # Linux console
bindkey '\e[H' beginning-of-line # xterm
bindkey '\eOH' beginning-of-line # gnome-terminal
bindkey '\e[2~' overwrite-mode # Linux console, xterm, gnome-terminal
bindkey '\e[3~' delete-char # Linux console, xterm, gnome-terminal
bindkey '\e[4~' end-of-line # Linux console
bindkey '\e[F' end-of-line # xterm
bindkey '\eOF' end-of-line # gnome-terminal
답변4
이 답변은 내 문제를 매우 잘 설명하고 해결합니다.
https://stackoverflow.com/a/686458/5472892
간단히 말해서:PuTTY 터미널 유형을 기본값 xterm
에서 linux
.
어쩌면 누군가가 이것을 사용할 수도 있습니다.