set -o vi
コマンドラインでbashをviモードに切り替えることができることを知っています。しかし、時にはviモードが必要な場合もあり、通常モード(emacsモード?)を使い続けたいし、すでに新しいコマンドを入力しているときにviモードに切り替えることができればいいと思います。
CLIコマンドを実行せずにviモードを設定する方法はありますか?
たとえば、端末アプリケーションで開くことができます。 Mac OS XでiTerm2を使用していますが、すぐにモードを切り替えるコマンドが見つかりません。
どんな提案がありますか?
答え1
2つのReadline関数をバインドすることで、2つの入力モードを動的に切り替えるようにキーの組み合わせを制御vi-insertion-mode
できます。emacs-editing-mode
以下のコードは最初にモードにバインドされ、次にvi-insertion-mode
(Ctrl+XCtrl+T同じemacs-standard
キーの組み合わせですが)モードにemacs-editing-mode
バインドされます。Ctrl+XCtrl+Tvi-insert
bind -m emacs-standard '"\C-x\C-t": vi-insertion-mode'
bind -m vi-insert '"\C-x\C-t": emacs-editing-mode'
あまりにも多くの作業を中断することなく、自分に適した制御シーケンスを使用できます。ここで使用されているシーケンスはデフォルトでバインド解除されています。