コマンドの実行中に、Viキーバインディングを使用してBashで挿入モードを終了します。

コマンドの実行中に、Viキーバインディングを使用してBashで挿入モードを終了します。

Viキーバインディングを使用してbashを設定しましたが、コマンドの実行が終了すると、移動モードではなく挿入モードに戻ります。bind '"\C-M":vi-movement-mode'myを使用して.bashrcEnterキーを移動モードにマップできますが、入力したコマンドを実行することはできません。
私は利用できる

bind '"jj":vi-movement-mode'
bind '"\C-M":"jj\n"'

Enter キーを押すと移動モードは終了しますが、コマンドが完了すると挿入モードに戻ります。

これは、コマンドを入力してから「k」を使用してコマンド履歴をスクロールバックするか、「p」を使用して毎回挿入モードを終了せずに別のコマンドを貼り付けることができることを意味します。

コマンドを実行して挿入モードを終了するように単一のキーバインディングを設定するにはどうすればよいですか?

おそらく不要な情報かもしれませんが、私はWindowsターミナルを使ってcygwinで実行しています(痛いが必要です)。

ベストアンサー1

更新:技術的な質問と同様に、質問を投稿してから20分で答えを見つけました(そして解決策を見つけるのに長い時間を費やしました)。\njj代わりにjj\nトリックを使用することを発見しました。特に良くないけど効果があるようです。

同じ問題を持つ他のユーザーに対して更新されたコマンド(入力.bashrc

bind '"jj":vi-movement-mode'
bind '"\C-M":"\njj"'

おすすめ記事