저는 최근에 도트 파일을 만지작거리고 있었는데 어느 시점에서 ^A
정기적으로 사용했던 기본값과 키맵을 사용할 수 없게 되었습니다.^K
bindkey -L | grep '\^[AK]
# bindkey -R "^A"-"^C" self-insert
# bindkey "^K" self-insert
그러나 예상한 대로 zshzle
및 에 대한 매뉴얼 페이지는 기본적 으로 및 에 ^K
매핑됩니다 .^A
kill-line
asf
초기화 파일에서 이것을 다시 매핑할 수 있는 곳을 찾을 수 없습니다! 물론 나는 이렇게 하지 않았다:
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
" VISUAL
vim"을 설정했습니다. 이 설정을 제거하면 키 바인딩이 복원됩니다(Emacs 기본값인 것 같지만 익숙한 Mac 바인딩이기도 합니다).