Prezto 설치 후 Ctrl-화살표가 더 이상 작동하지 않습니다.

Prezto 설치 후 Ctrl-화살표가 더 이상 작동하지 않습니다.

내 거 .inputrc:

"\e[A": history-search-backward
"\e[B": history-search-forward
set show-all-if-ambiguous on
set completion-ignore-case on

# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
"\eOc": forward-word
"\eOd": backward-word
"\e[1;5C": forward-word
"\e[1;5D": backward-word
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word

.zprezto/modules/editor/init.zsh또한 지시어를 정의하는 어떤 것도 건드리지 않았습니다 .bindkey

그러나 버튼을 누르 CtrlLeft거나 CtrlRight터미널(URxvt)이 깜박이면 아무 일도 일어나지 않습니다. 반면에 XTerm에서는 작동합니다. 이것은 URxvt 문제인 것 같습니다.

답변1

파일 ~/.inputrc은 bash 파일이며 zsh내가 아는 한 그런 파일은 아닙니다. 제어하는 동작은 다음과 같습니다 readline.zshzle. 다음 명령을 사용하여 동작을 수정할 수 있습니다bindkey주문하다.

Ctrl Left따라서 왕복 하려면 Right다음 줄을 귀하의 줄에 추가하십시오 ~/.zshrc(동등한 더 나은 장소가 있을 수 있지만 ~/.inputrc나는 그것을 모르고 ~/.zshrc작동합니다):

bindkey "\eOc" forward-word
bindkey "\eOd" backward-word
bindkey "\e[1;5C" forward-word
bindkey "\e[1;5D" backward-word
bindkey "\e[5C" forward-word
bindkey "\e[5D" backward-word
bindkey "\e\e[C" forward-word
bindkey "\e\e[D" backward-word

답변2

표시된 키 바인딩은 xterm(및 xterm의 동작을 복제하는 프로그램)용입니다. urxvt예, 하위 항목에 rxvt사용됩니다.다른키바인딩. 기본적으로 controlleftrxvt/urxvt send 의 경우 escapeOd이를 확인할 수 있습니다.

cat -v

그리고 키 조합을 입력하세요. ^[Od다른 커서 키에도 동일한 문제가 적용됩니다 .

urxvt사용할 수 있는 리소스 설정 keysym.sym(에 소개된 기능의 확장 )을 제공합니다.rxvt할 수 있다더 밀접하게 일치하도록 이러한 끝점에서 보낸 키를 수정하는 데 사용됩니다 xterm. 이는 다음과 같은 리소스 설정이 될 것입니다:

URxvt.keysym.Control-0xff51:    \033[1;5D

여기서 (맨 페이지에 표시된 대로) Control는 수정자이고 0xff51는 왼쪽 커서 키에 대한 코드입니다. 를 사용할 수 있습니다 xev.

모든 키를 얻으려면 각 키(및 수정자)에 대한 리소스를 추가해야 합니다.

추가 자료:

관련 정보