次のタスクを実行したいと思います。コンソールのモードでバックスペースキーを使用して変更を元に戻しながら、vim
いくつかの文字(vimコマンド)を置き換えます。次のように動作R
します。bash
vim
bash
set -o vi
echo "foo bar" <ESC>
次に、「f」などのvimコマンドを使用して複数の文字を置き換えますFf
。R
さて、例えば、文章を書くことでbar foo
得ることができます。
echo "bar foo"
たとえば、バックスペースキーを3回押すとわかります。
echo "bar bar"
これが私が望む動作です。と同じ動作ですvim
。しかし、私はzsh
同様に試してみることができます。
zsh
bindkey -v
echo "foo bar" <ESC>
上記と同じことを行いますが、結果は次のとおりです。
echo "bar "
つまり、zsh
BACKSPACE を使用する場合、複数の文字を置き換える動作は期待どおりに機能しません。キャラクターを以前の状態に復元する代わりに削除します。
zsh
と同じ動作をどのように取得できますかvim
?