私の.zshrc
外観は次のとおりです。
export EDITOR="/usr/bin/vim"
端末を開いてキーボードショートカット(ctrla行の先頭に移動するなど)を入力すると機能しません。代わりに、文字列^A
(または入力したショートカットによって異なる文字列)が端末に入力されます。
emlai:~ % ^A
export
myから単語を削除すると、.zshrc
キーボードショートカットが機能します。
EDITOR="/usr/bin/vim"
EDITOR
別のコンテンツにエクスポートすると、vim
次のキーボードショートカットも機能します。
export EDITOR="/usr/bin/nano"
なぜこれが起こるのですか?
これもテストしましたが、bash
キーボードショートカットがすべての場合にうまく機能しました。
答え1
zsh
vi
ほとんどの最新のシェルと同様に、コマンドライン編集用に2つのキーマップ(1つと1つemacs
)から選択できます。一部のシェル(たとえば、tcsh
or readline
- likeベースのシェルbash
)では、このemacs
シェルはデフォルトであり、予期したシェルである可能性があります。
を使用すると、そのモードを好むと仮定すると、//ユーザー以外の場合、または含める場合(ifとif ...)以外の場合は、デフォルトでモードが取得されますzsh
。emacs
$EDITOR
$VISUAL
vi
vi
nvi
vim
elvis
vimacs
$EDITOR
/home/victor/bin/emacs
zsh
vi
値に関係なく特定のモードを強制するには、$EDITOR
tcsh-styleを追加します。
bindkey -e # for emacs
bindkey -v # for vi
またはkshスタイル:
set -o emacs
set -o vi
あなたの~/.zshrc
ために。
info -f zsh -n Keymaps
もっと学ぶ。