notebook

都内でWEB系エンジニアやってます。

ZLEに登録したコマンドを直接シェルから呼び出す

zshのZLEでキーバインドを設定したコマンドに関してはコンソールから直接呼ぼうとするとエラーになる

peco-select-history:zle:11: widgets can only be called when ZLE is active

どうしても直接呼び出したいパターンがあったので調べたら下記で回答がされていた

ZSH: how to ZLE widgets directly? - Super User

superuser.com

キーバインドによってコマンドが違うが直接ZLEに登録しているウィジェットを実行できる

  • Emacsキーバインドの場合
    • Esc+x
  • vimキーバインドの場合
    • :

f:id:swfz:20200320172628g:plain

こんな感じで対象コマンドを入力すると実行される

発端はVS Codeでターミナル操作時

history-searchでコマンド引っ張ってくるキーバインドがCtrl+rだったが最近の更新で「2番目のキーを待っています」状態になってしまい実行できなくなってしまったというもの

f:id:swfz:20200320172636g:plain

どうにも不便なので解決策を探したところ現状だとこの方法しかなさそう

これはこれでモヤッとする感じだけどこのためにいろいろ設定変える時間も惜しかったのでとりあえずこのまま行こうと思ってます