一部の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オプションは、このデフォルト選択を無視する便利な方法を提供します。

さて、最近EDITORVISUALvim」を設定しました。この設定を削除すると、キーバインディングが復元されます(Emacsのデフォルトではあるようですが、おなじみのMacバインディングでもあります)。

おすすめ記事