1

Bash では、たとえば、次のように入力すると、履歴内の「make」で始まる最後のコマンドが呼び出されて実行!makeされます。Enter

私が望むのは、そのコマンドを思い出すだけで、Enterもう一度ヒットするまですぐに評価しないで、それを見たり、必要に応じて編集したりできるようにすることです。

Bashでそれを行う方法はありますか?

4

3 に答える 3

4

CTRL+を使用pして前のコマンドを取得できます

CRL+を使用rして、履歴内のコマンドを逆検索することもできます。

于 2013-07-15T02:11:01.493 に答える
3

履歴展開の後のp修飾子は、結果を実行するのではなく、さらに編集するためにコマンド ラインに結果を出力します。

$ echo foo
foo
$ !!:p
$ echo foo
          ^
          |
          cursor remains here
于 2013-07-15T12:48:35.813 に答える
1

history-expand-lineキー ( )を使用して、現在の行の履歴を展開できますM-^

通常、M修飾キーは にマップされAltます。

$ !make

AltShift6

$ make -C mydir

最後のmakeコマンドがmake -C mydir. その後、コマンド ラインをその場で編集できます。

または、他の回答で概説されているように、履歴をスクロールできます。

于 2013-07-15T02:25:55.037 に答える