ZSHではcommand
のようなことができると言われましたが、ヒットすると、指定されたコマンドに基づいて履歴がフィルターされます。しかし、これを試してみると、bashのように履歴が循環するだけです。これはデフォルトで無効になっていますか?
ヒットCtrl+R
、いくつかの文字を入力すると、これらの文字を含む以前のコマンドが検索されます。Ctrl+ Rを押し続けると、以前の結果を続行できます。
bash、zsh(および私が推測する他のシェル)で動作します。
私が個人的に気に入っているのは、文字を入力してUp
を押すと、同じ文字で始まる前のコマンドが表示されます。とてもパワフル、大好きです。
必要なキーをバインドする必要がありますhistory-beginning-search-backward
およびhistory-beginning-search-forward
。
それだけでは不十分な場合は、zshには多くのオプションがあります。 Zsh Line Editor を調べて、教えてください。
bashの場合、それほど強力ではありませんが一般的です 履歴用のbashコマンド 。
感嘆符を使用:
> !<starts-with this string>
それで始まるすべてのコマンドを上下に移動できます。 Vimでファイルを開く前のコマンドを取得するために、常に「!v」を使用します。
また、疑問符を使用して、文字列の先頭に一致する範囲を超えて検索することもできます。
> !?status
「git status」を見つけることができます。
percol を使用して、動的に履歴を検索およびナビゲートします Ctrl-r。
Sudo pip install percol
後 Ctrl-r、すべての履歴を同じウィンドウで確認できます。キーワードを(動的に)検索すると、そのリストが絞り込まれます。キーバインディング(このように emacs like config)を使用して、リストを上下に移動し、最終的に選択を行うことができます。
以下は、Sudo install
を選択した状態で履歴にあるすべてのSudo make install
コマンドを検索したものです。
Enter 選択したコマンドを発行します。
これは fish で利用できる機能ですが、誰かが zsh plugin を作成したようです。標準のZSHでは使用できません。
Zshでvimキーバインドをアクティブにすると、viコマンドモードでvi-history-search-backward(/)を使用できます。
キーバインドを追加したくない場合は、デフォルトで次を使用して検索できます Ctrl+R 後方に移動する& Ctrl+S 前進する。
キーショートカットのいずれかで検索を開始できます Ctrl+R または Ctrl+S