リバース検索の前に端末を自動的に消去するには?

リバース検索の前に端末を自動的に消去するには?

clearを使用して逆検索を開始するときにこのコマンドを自動的に実行できるかどうか疑問に思いますCTRLR

私はprecmdzshの機能に精通していますが、販売を遅らせずにコマンドのサブセットに制限する方法がわかりません。考えられる解決策の1つは、リバース検索を検出するif条件を追加することですprecmd。しかし、その条件が何であるかはわかりませんhistory-incremental-search-backward

ベストアンサー1

function my-history-incremental-search-backward {
    zle clear-screen
    zle history-incremental-search-backward
}
zle -N my-history-incremental-search-backward
bindkey "^r" my-history-incremental-search-backward

最初に画面を消去して(実行することもできますが、見苦しく、検索を終了するとclearプロンプトが再描画されません)。control+chistory-incremental-search-backward

または、次をhistory-incremental-search-backward使用してウィジェットをオーバーライドすることもできます。

function history-incremental-search-backward {
  zle clear-screen
  zle .$WIDGET
}
zle -N history-incremental-search-backward

したがって、ウィジェットがすでにバインドされているすべてのキーを再バインドする必要さえありません。

おすすめ記事