履歴の表示HistoryExtended

履歴の表示HistoryExtended

履歴から呼び出すのではなく、履歴拡張コマンドを再作成する必要があります。

たとえば、次のコマンドで35を36、37、38 ...に変更する必要があります。

$ print -P '\033[35mThis is the same red as in your solarized palette\033[0m'
$ !!:gs/35/36

今やるべきこと!!:gs/36/37

Upただし、鍵を使用するとき。表示されません$ !!:gs/35/36。見せるprint -P '\033[35mThis is the same red as in your solarized palette\033[0m'

ここで何ができますか?

答え1

必要なものを達成する方法については2つの提案があります(参考用bash)。

歴史に追加

最初の履歴拡張コマンドラインを入力する前に、履歴拡張(set +H)を無効にし、履歴拡張コマンドを「実行」してから再度有効にすることができますset -H。その後、これはシェル履歴の一部になり、簡単に戻って修正できます。

シェル履歴からレコード拡張コマンドラインを取得するより直接的な方法はですhistory -s。しかし、以前のアドバイスは覚えやすくなるかもしれません(複雑な引用の場合は簡単になるかもしれません)(シェルオプションの使いやすさによって異なります)。

ラインプルインを読む

これは、ジョブ全体でジャークを行う必要がない場合に最も便利です。

履歴拡張コマンドラインを入力してを押しないでくださいEnter。代わりに、行の先頭/末尾に移動し、Ctrl- K/ Ctrl-を使用して行全体を削除してくださいU。これはライン全体をキリングリングに入れる。Ctrl-restore line を使用できますY。コマンドを実行した後も、キーリングに他のものを入れない限り、この方法で元に戻すことができます。それにもかかわらず、Ctrl--Y Altを使用して前のキリング項目に戻ることができますY

答え2

端末は、ユーザーがコマンド全体を入力したと思うので、この出力を表示します。例:入力すると表示されますpacman -S vimerror: you cannot perform this operation unless you are root.

したがって、sudo !!パスワードを入力する前に入力すると、次の行が表示されます。sudo pacman -S vim

ただスクリーンショット

関連情報