場合によっては、パスなどの特定の長いパラメータを再利用する必要があります。
CTRL履歴検索(+)を使用すると、パスRを含むいくつかのコマンドを見つけることができますが、それでも古いコマンドから他のエントリを削除してから、カーソルを移動して新しいコマンドを作成する必要があります。さらに悪いことは、連続して何度もできないということです。
パラメータレベルの履歴検索を提供するシェルがあるかどうかを知りたいです。
履歴コマンド(および引数)のタブの完成を確認すると、ある程度役立ちます。ただし、完了はサブストリングではなく入力したプレフィックスと一致する必要があります。
答え1
私が正しく理解したら、あなたはダイナミックな完全な歴史を追求しています(例えば、man bash
またはhttp://www.cl.cam.ac.uk/local/sys/unix/applications/bash/)、基本的にM-Tab
。
答え2
zshでは、新しいスタイルの完成が有効になります(compinit
例.zshrc
:_history_complete_word
関数はこの機能を提供します。デフォルトでは、にバインドされている2つのウィジェット_history-complete-older
でアクセスできます。これら 2 つのコマンドは、現在の単語が前に付いたシェル履歴のすべての単語を繰り返します。_history-complete-newer
ESC ,
ESC /
答え3
答え4
操作するにはALT-を使用してください。 、bashのマンページから:
- yank-last-arg (M-., M-_):
Insert the last argument to the previous command (the last word of
the previous history entry). With an argument, behave exactly like
yank-nth-arg. Successive calls to yank-last-arg move back through the
history list, inserting the last argument of each line in turn. The
history expansion facilities are used to extract the last argument,
as if the "!$" history expansion had been specified.