履歴から呼び出すのではなく、履歴拡張コマンドを再作成する必要があります。
たとえば、次のコマンドで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。