場合によっては、シェルでcmdを逆検索すると正確な一致が見つからず、検索クエリをそのまま実行したい場合があります。
bash / zshと友達が入力を捨てずにこれを実行する方法はありますか?
答え1
zshでは変数を使用できますLASTSEARCH
そしてLASTABORTEDSEARCH
。エディタウィジェット内でのみ使用できます。
エディタウィジェットはエディタウィジェットで作られた機能で、zle -N
これはキーバインディングによって呼び出されます。 (キーバインディングは次のとおりです。ESC-x
—vi :
モードで。 )
たとえば、次のコードバインディングは、ESC-s
現在のコマンドラインを最後の増分検索に置き換えます。増分検索中にキーを押すと、ESC-s
検索は進行中です(中断されます)。
function set-buffer-last-search { LBUFFER=$LASTSEARCH; RBUFFER=; }
zle -N set-buffer-last-search
bindkey '\es' set-buffer-last-search