個人的には、各コマンドが履歴内のその場所を維持し、最後に実行されたコマンドに戻るときに必ずしも履歴の最後のコマンドではない可能性があるWindowsのコマンド履歴の閲覧(申し訳ありません!)を好みます。
これが言葉になるかどうかはわかりませんので、例として説明します。
吹く
one
4つのコマンド(、、、、、)を実行するとします。以降、コマンド履歴(最も古いものから最新まで)は次のようになります。two
three
four
one
two
three
four
上キーを3回押すと、期待どおりに、four
に戻ります。 Enterを押すとコマンドが実行されます。今の記録は次のとおりです。three
two
two
one
two
three
four
two
押すと↑それを見ることができますtwo
。もう一度押すとfour
などが見えます。
Windows
同じ4つのコマンド(、、、、、one
)を実行するとします。以降、コマンド履歴(最も古いものから最新まで)は次のようになります。two
three
four
one
two
three
four
上キーを3回押すと、前と同様に、にfour
戻ります。 Enterを押すとコマンドが実行されます。もう一度押すとまだ表示されます。しかし、歴史は依然としてそうです。three
two
two
↑two
one
two
three
four
これは私が歴史の前の瞬間に「ジャンプバック」したことを意味します。これで↑、ビューやone
ビューなど↓をthree
押すことができます。
これがなぜ役に立つのですか?
これは、一連のコマンドを実行してから再実行したい場合に特に便利です。それは含まれていますかなりより少ないキーストロークでシリーズ全体を再実行します。
Bashを同じように動作させる方法はありますか?
答え1
これはあなたの質問に直接答えることはありませんが、最終的に実際の答えがなければ役に立ちます。
一連のコマンドを実行した場合:
$ one
$ two
$ three
$ four
$ history
1 one
2 two
3 thee
4 four
シーケンスを再実行するには、次のようにします。
!1; !2; !3; !4
または、前のコマンドが成功した場合にのみ後続のコマンドを実行したい場合:
!1 && !2 && !3 && !4
これにより、履歴に次の項目が表示されます。
$ history
1 one
2 two
3 three
4 four
5 one; two; three; four
6 one && two && three && four
その後、シーケンスを再実行するには、矢印を使用するか、次のように使用できます。!5