일부 ZLE 시퀀스가 ​​"자체 삽입"으로 다시 매핑되는 이유는 무엇입니까?

일부 ZLE 시퀀스가 ​​"자체 삽입"으로 다시 매핑되는 이유는 무엇입니까?

저는 최근에 도트 파일을 만지작거리고 있었는데 어느 시점에서 ^A정기적으로 사용했던 기본값과 키맵을 사용할 수 없게 되었습니다.^K

bindkey -L | grep '\^[AK] 
# bindkey -R "^A"-"^C" self-insert
# bindkey "^K" self-insert

그러나 예상한 대로 zshzle및 에 대한 매뉴얼 페이지는 기본적 으로 및 에 ^K매핑됩니다 .^Akill-lineasf

초기화 파일에서 이것을 다시 매핑할 수 있는 곳을 찾을 수 없습니다! 물론 나는 이렇게 하지 않았다:

print /usr/local/ ~/.z^(compdump|sh_history) ~/dotfiles | xargs ag 'bindkey'
# /Users/vercingetorix/.zshrc
# 56:bindkey "^[[3~" delete-char
# 
# /Users/vercingetorix/dotfiles/zsh/zshrc
# 56:bindkey "^[[3~" delete-char

그게 내가 가진 전부야!

사실 나는알다나는 이것을 하지 않았다:

zsh -x &> diagnose.log
exit
wc -l diagnose.log
#     3802 diagnose.log
[[ -z $(ag '\^[AK]' diagnose.log) ]] && print 'nothing!'
# nothing!
[[ -z $(ag 'bindkey -[evaM]' diagnose.log) ]] && print 'nothing!'
# nothing!

그러면 무엇이 주어지나요? 기본 매핑은 어떻게 되었나요?

답변1

나는 그것을 생각했다!

zshzle매뉴얼 페이지 에서 :

이러한 이름 외에도 "emacs" 또는 "viins"도 "main"이라는 이름과 연관되어 있습니다. 쉘이 시작될 때 VISUAL 또는 EDITOR 환경 변수 중 하나에 문자열 "vi"가 포함되어 있으면 "viins"가 되고, 그렇지 않으면 "emacs"가 됩니다. 바인딩키에 대한 -e 및 -v 옵션은 이 기본 선택을 무시하는 편리한 방법을 제공합니다.

그런데 최근에 EDITOR" VISUALvim"을 설정했습니다. 이 설정을 제거하면 키 바인딩이 복원됩니다(Emacs 기본값인 것 같지만 익숙한 Mac 바인딩이기도 합니다).

관련 정보