「最後の繰り返し」ボタン付き端末[繰り返し]

「最後の繰り返し」ボタン付き端末[繰り返し]

私はしばしばオブジェクトをコンパイルし、同じコマンドを繰り返し続けるので、「ビジュアルメモリ」の利点を活用し、ある種の「以前のコマンドの繰り返し」ボタンを端末に接続したいと思います。より正確にはこれを見てください。

  • 私の「特殊」端子は、下部に追加の入力ラインがあり、「実行」ボタンが接続されている標準の端末エミュレータと同じです。ボタンをクリックするとコマンドが実行されます。いいえ削除してください。
  • たぶん、そのようなコマンドをいくらでも積み重ねることができます(しばしば2つまたは3つのコマンドを交互に使用する必要があるからです)。

キーボードを使用して最後のコマンドを再実行できることを知っていますが、他のコマンドを入力するとEnter(何かを修正するには)、履歴に正しいコマンドが表示されないことを忘れてしまうことがよくあります。そのため、Enterキーを押す前に反射的にコマンドを読み取るのではなく、実際にコマンドを読み取る必要があります(少なくとも見てください)。

そのようなデバイスはどこかにありますか?私は各端末に常に「正しい」コマンドがあることを確認するために複数の端末を正しく使用することがよくありますが、Alt+Tab技術はしばしば間違ったウィンドウに移動します。また、環境やcwdなどの端末情報が必要なので、コードエディタに「統合」しようとすることはできません。つまり、Alt+を使用するF2Enter機能しません(ターミナルでも出力を読み取る必要があるため)。私はキーボードと視覚的記憶(クリックを通して)の両方を最大限に活用できるようにしたいです。

答え1

ここでは、歴史の拡張が非常に役立つと思います。たとえば、入力すると、!p「p」で始まる最後のコマンドが実行されます。同様に!vi、「vi」で始まる最後のコマンドが実行されます。追加情報ここ。どちらが最後かわからない場合は、シェルオプションhistverifyshopt -s histverify)を設定して、コマンドを実行する前に編集(または確認)を続けることができます。これについてもっと詳しくここ

または、履歴検索機能を使用することもできます。 Bashで、Ctrl+R履歴で見つけたいコマンドをクリックして入力します(基準に一致する最新のコマンドから始まります)。繰り返しクリックすると、Ctrl+R基準に一致する以前のコマンドが再び表示されます。追加情報ここそしてここ

必要に応じて、上下の矢印が履歴検索を実行するようにreadlineのinputrcを変更できます。追加情報ここそしてここ

答え2

シェルの履歴機能を表示します。私のzshから:

!!

最後のコマンドを繰り返します。

history最後の項目を表示するには、入力してください。

シェルから必要なバッファを取得するには:

man zshzle

または

man readline

または、Tabキーを使用して補完を拡張できます。

make long_target
ls some_path
...
make l<TAB> # prints 'make long_target' without running it

ワイルドカード、拡張機能を使用してください。この機能に加えて、どこにもユースケースはありません。

答え3

+を使用してzshこれを行うことができます。コマンドを入力して代わりに+を押します。コマンドが実行され、コマンドが完了すると、ラインバッファに同じ内容が表示されます。EscAEscAEnter

答え4

非常に簡単な答えが必要なようです。Alt+ に言及したので、Tab(X)windowsを使用しているとします。 「Enter」を押す前に、マウスでコマンドを強調表示してください。強調表示すると、自動的にクリップボードにコピーされます。貼り付けるには、マウスの中央ボタン(スクロールホイール)を押すかShift+を入力しますInsert

関連情報