LinuxでCTRLRを使用する方法



問題を排除するために楽器を試してください

最新のbashシェルを使用している場合は、Ctrl + Rをキーボードショートカットとして使用して、コマンド履歴を検索できます。以前に使用したコマンドを起動して、もう一度発行することができます。これは、emacsモードでkshを使用している場合など、他のシェルでも機能する可能性があります。この小さなトリックを使用すると、実際にコマンドラインワークロードを大幅に高速化できます。



これを機能させるには、ターミナルから作業する必要があります。 Ctrl、Alt、Tを押したままにして、デスクトップ環境でサポートされている場合はSuper + Tを開きます。 [アプリケーション]メニューをクリックし、[システムツール]に移動してから[ターミナル]をクリックするか、UbuntuDashで検索することもできます。



方法1:Ctrl + Rを使用してコマンドを検索する

bashプロンプトで、Ctrlキーを押しながらRを押します。(reverse-i-search) `’:の後にカーソルが続くというメッセージが表示されます。以前に発行したコマンドの最初の文字を入力して検索します。たとえば、catコマンドを使用してテキストファイルの内容を確認した場合は、cを押します。 calを使用して月のカレンダーを表示したことがある場合は、これも表示される可能性があります。



Ctrl + Rをもう一度押すと、同様の名前のコマンドが切り替わります。 bashの履歴が長い場合は、同じような名前のコマンドが多数見つかる可能性があります。実行するコマンドが見つかったら、Enterキーを押すと、コマンドを入力して実行したようにプロンプ​​トが表示されます。コマンド全体を入力する必要はありませんが、代わりに1文字か2文字だけ入力します。

数文字を入力して、過去に発行した可能性のある長いコマンドを見つけることができます。コマンドラインにもすぐに表示され、Enterキーを押して通常どおりに実行できます。それはあなたの歴史の中で何かを見つけるプロセスをはるかに簡単にします。コマンドが行にあると、実行する前に矢印キーを使用して編集することもできます。

コマンドの実行についてよく考える場合は、ターミナルのコマンドラインで他の検索をキャンセルするのと同じように、いつでもCtrlキーをもう一度押しながらCを押してCtrl + R検索をキャンセルできます。この手法は、他の種類のコマンドを実行した後で使用できます。一部のWebサイトで読み取られる場合でも、実際に試してみると、端末内にどのような出力があるかを心配する必要はありません。



方法2:CtrlRタグを追加する

一般的に使用されるコマンドに何度も戻りたい場合は、コマンドが置かれている行の最後にコマンドの名前をコメントアウトすることで、実際にタグを追加できます。コマンドに続けてスペースを入力してから、 #私を見つけて その後。 Enterキーを押して、コマンドを実行します。シェルは、プログラミング言語のコメントとしてカウントされるため、#findmeタグを単に無視します。

これで、そのコマンドを見つけたいときはいつでも、Ctrl + Rを押しながら#finと入力し始めると、すぐにポップアップします。この方法で複数のコマンドにタグを付けたい場合は、他の方法でタグを付けるだけです。必要に応じて、#command1、#command2などのタグ付けを試してみてください。そうすれば、#comと入力してから、Ctrl + Rを数回押して、探しているコマンドを見つけることができます。これは、大量のコマンド履歴がある場合に最適に機能します。各タグは、クリアされるまで履歴に残ります。

方法3:kshでemacsモードを有効にする

デフォルトのシェルとしてkshを使用している場合は、次のように入力します set -o emacs Enterキーを押します。これにより、emacsモードが有効になり、bashで許可されているのと同じ方法でCtrl + Rトリックを使用できるようになります。動作はこれまでとは少し異なり、bashシェルのユーザーはこれを行う必要がないため、ほとんどのLinuxコーダーはこの手順を単に無視できます。

kshを好むユーザーは、ここでCtrl + Rを押すことができ、シェルは^ Rを画面に出力します。検索を入力して、Enterキーを押します。最も一致するエントリが表示されます。これは、Enterキーをもう一度押すと編集または実行できます。ちなみに、emacsは通常の矢印キー機能などの他のいくつかのオプションを有効にします。

読んだ3分