Bash では、たとえば、次のように入力すると、履歴内の「make」で始まる最後のコマンドが呼び出されて実行!make
されます。Enter
私が望むのは、そのコマンドを思い出すだけで、Enterもう一度ヒットするまですぐに評価しないで、それを見たり、必要に応じて編集したりできるようにすることです。
Bashでそれを行う方法はありますか?
Bash では、たとえば、次のように入力すると、履歴内の「make」で始まる最後のコマンドが呼び出されて実行!make
されます。Enter
私が望むのは、そのコマンドを思い出すだけで、Enterもう一度ヒットするまですぐに評価しないで、それを見たり、必要に応じて編集したりできるようにすることです。
Bashでそれを行う方法はありますか?
CTRL+を使用pして前のコマンドを取得できます
CRL+を使用rして、履歴内のコマンドを逆検索することもできます。
履歴展開の後のp
修飾子は、結果を実行するのではなく、さらに編集するためにコマンド ラインに結果を出力します。
$ echo foo
foo
$ !!:p
$ echo foo
^
|
cursor remains here
history-expand-line
キー ( )を使用して、現在の行の履歴を展開できますM-^
。
通常、M
修飾キーは にマップされAltます。
$ !make
AltShift6
$ make -C mydir
最後のmake
コマンドがmake -C mydir
. その後、コマンド ラインをその場で編集できます。
または、他の回答で概説されているように、履歴をスクロールできます。