zshからvimをエディタにエクスポートすると、キーボードショートカットが無効になるのはなぜですか?

zshからvimをエディタにエクスポートすると、キーボードショートカットが無効になるのはなぜですか?

私の.zshrc外観は次のとおりです。

export EDITOR="/usr/bin/vim"

端末を開いてキーボードショートカット(ctrla行の先頭に移動するなど)を入力すると機能しません。代わりに、文字列^A(または入力したショートカットによって異なる文字列)が端末に入力されます。

emlai:~ % ^A

exportmyから単語を削除すると、.zshrcキーボードショートカットが機能します。

EDITOR="/usr/bin/vim"

EDITOR別のコンテンツにエクスポートすると、vim次のキーボードショートカットも機能します。

export EDITOR="/usr/bin/nano"

なぜこれが起こるのですか?

これもテストしましたが、bashキーボードショートカットがすべての場合にうまく機能しました。

ベストアンサー1

zshviほとんどの最新のシェルと同様に、コマンドライン編集用に2つのキーマップ(1つと1つemacs)から選択できます。一部のシェル(たとえば、tcshor readline- likeベースのシェルbash)では、このemacsシェルはデフォルトであり、予期したシェルである可能性があります。

を使用すると、そのモードを好むと仮定すると、//ユーザー以外の場合、または含める場合(ifとif ...)以外の場合は、デフォルトでモードが取得されますzshemacs$EDITOR$VISUALvivinvivimelvisvimacs$EDITOR/home/victor/bin/emacszshvi

値に関係なく特定のモードを強制するには、$EDITORtcsh-styleを追加します。

bindkey -e # for emacs
bindkey -v # for vi

またはkshスタイル:

set -o emacs
set -o vi

あなたの~/.zshrcために。

info -f zsh -n Keymaps

もっと学ぶ。

おすすめ記事