홈 키가 터미널에서 작동하지 않습니다

홈 키가 터미널에서 작동하지 않습니다

나는 그놈 터미널 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^[[FHomeEnd.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.

어쩌면 누군가가 이것을 사용할 수도 있습니다.

관련 정보