バックスペースキーで文字を削除できるようにZシェルのviモードを設定できますか?今後挿入操作はどこで始まりますか?
デフォルトでは、vimの動作は次の行を追加することで達成できます。~/.vimrc
set backspace=start
- Zシェルviモードでこの機能を使用できますか?
ベストアンサー1
zsh 構成に以下を追加できます。
bindkey -M viins '^?' backward-delete-char
bindkey -M viins '^H' backward-delete-char
説明する:
Viモード事前設定されたキーマップセット(つる、寸法指令、ビオプ、視覚的) 特定のキーを特定のウィジェットにバインドします。これらのウィジェットのいくつかは、次のように動作するように特別に設計されています。肉編集者はそうです。
あなたの場合、これはvi-backward-delete-char
基本的にバインドされたBackspaceウィジェットです。つる位置を削除せずに挿入モードに入る特定の機能を持つモードです。
多くの場合、次のようにうまく機能するいくつかの異なるバージョンのウィジェットがあります。Emacs編集する。この場合、backward-delete-char
現在の挿入セッションに限定されないウィジェットになります。デフォルトではバインドされていますが、Emacsモード、どのモードでどのウィジェットを使用できるかについて厳格な制限はありません。backward-delete-char
次の範囲で使用できます。viモードBackspaceウィジェットを呼び出すには、再バインドしてくださいbackward-delete-char
。
^?
2つのバインディングがあるのは、^H
2つのキーシーケンスのうちどのキーが押されたときに送信されるかが端末によって異なるためですBackspace。デフォルトでは、両方とも同じウィジェットにバインドされます。viモードまたEmacsモード。