4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Powershell/bash】`Ctrl+R`キー、押してますか?

Posted at

塵も積もれば宝となる

안녕하신게라!パナソニック コネクト株式会社クラウドソリューション部の加賀です。

日々のPC作業で「たった数秒」の短縮効果を侮ってはいけません。
毎日50回行う作業を5秒短縮するだけで、5年間で5日分もの時間を節約できると、XKCDのイラストでも指摘しています。

特に、CLI(コマンドラインインターフェース)でのコマンド入力作業には、この「無意識の無駄」が潜んでいます。
「さっき実行したあの長いコマンド、もう一度使いたいんだけど、矢印キーを連打して探すのも面倒だし、コピペするのも手間だな…」
こんな経験、CLIを使う方なら誰しも一度はあるはずです。

そんな「探す時間」「入力する時間」を劇的に短縮できる魔法のショートカット、それがCtrl+Rキーを使ったインクリメンタルサーチ機能です!
まるで時間を巻き戻すかのように、過去の入力コマンドが目の前に現れる。そんな時短テクニックのご紹介です。Powershell(VS Codeターミナルを含む)とbash(zsh, fishなどの主要シェルでも利用可能)を対象としていますが、ご利用のシェルでも利用可能かチェックしてみるのをオススメします。

インストール不要で、今日から実践できるコマンド入力の効率化術を身につけ、あなたのCLI作業を次のレベルへと引き上げましょう!

インクリメンタルサーチ機能とは?

インクリメンタルサーチとは、文字を入力するたびに検索結果がリアルタイムで絞り込まれていく検索方法のことです。
CLIにおいては、過去に入力した膨大なコマンド履歴の中から、入力した文字列に合致するコマンドを瞬時に探し出す機能を指します。これにより、目的のコマンドをキーボードから手を離すことなく素早く見つけ出し、再実行・編集することが可能になります。

矢印キーでひたすら上へ辿る作業から解放されましょう!

なぜCtrl+Rキーが「魔法」なのか

Ctrl+Rキーを使うことで、以下のようなメリットがあります。

  • 瞬時の検索
    過去のコマンド履歴から、曖昧な記憶でも目的のコマンドを素早く見つけ出せます。
  • 思考の中断を最小化
    コマンドを探すために思考が中断されることなく、作業に集中し続けられます。
  • 入力ミスの削減
    過去の正しいコマンドを呼び出すため、タイピングミスによるエラーを減らせます。
  • 疲労の軽減
    キーボードの物理的な操作やマウス操作の回数が減り、結果として疲労を軽減できます。

Ctrl+RキーでCLI作業を「瞬速」に

Powershellとbash、それぞれの環境でCtrl+Rキーを使うことで、どのようにコマンド入力が効率化されるのか、その概念的な動作と効果を見ていきましょう。

Powershellの場合(VS Codeターミナル含む)

Powershellでは、Ctrl+Rを押すことで、過去に入力したコマンド履歴を逆順に検索するモードに入ります。このモード中に検索したいキーワードを入力すると、そのキーワードを含む直近のコマンドが瞬時に表示されます。さらにCtrl+Rを繰り返し押すことで、より古い履歴を遡ることができます。目的のコマンドが見つかれば、そのままEnterキーで実行したり、左右キーでプロンプトに展開して編集したりすることが可能です。
インクリメンタルサーチモードから抜けるにはEscキーを押します。

bashの場合(zsh, fishなど主要シェルも含む)

bashでもPowershellと同様にCtrl+Rでインクリメンタルサーチ機能を利用できます。プロンプトが検索モードに切り替わり、入力した文字列に合致する過去のコマンドがリアルタイムで表示されます。Powershellと同じく、Ctrl+Rを繰り返し押すことで履歴を遡り、目的のコマンドを見つけたらEnterキーで実行や左右キーでの編集が可能です。zshやfishなどのモダンなシェルでも、この機能は標準的に提供されており、場合によっては(上矢印キー)など他の直感的な操作と組み合わせて履歴検索が行えることもあります。
こちらもインクリメンタルサーチモードから抜けるにはEscキーを押します。

Ctrl+Rキー、こんな時に効果絶大!活用術

「なんとなく便利そう」から「これがないと困る!」に変わる、具体的な活用シーンをご紹介します。

  • 長いコマンドの再利用
    オプションが多くて入力が面倒なdocker run ...aws s3 cp ...のようなコマンドも、一部のキーワードで検索して一発で呼び出せます。
  • 入力ミス(Typo)の修正
    過去に実行したコマンドの入力ミスを直したい場合も、インクリメンタルサーチで呼び出して簡単に編集できます。
  • 履歴の効率的な探索
    「あの時実行したコマンドは何だったかな?」と記憶が曖昧な時でも、断片的なキーワードを頼りに効率的に履歴を探索できます。
  • ファイルパスの再利用
    長いディレクトリパスを含むコマンドも、その一部を入力するだけで簡単に見つけ出し、パスだけをコピーして別のコマンドに利用する、といった使い方も可能です。

あなたのCLI作業に「瞬速」を

Powershellとbash(や多くのシェルでも同様)におけるCtrl+Rキーによるインクリメンタルサーチ機能は、インストール不要でCLIでの作業効率を劇的に向上させる強力なツールです。
日々のコマンド入力で「矢印キーを連打してコマンドを探している」「長いコマンドのコピペが面倒」と感じている方は、ぜひ今日からCtrl+Rキーを積極的に使いこなしてみてください。
たった数秒の積み重ねが、やがてあなたのエンジニアライフに大きな時間的余裕と集中力をもたらすはずです。

さあ、あなたも今日から周りのエンジニアにこう聞いてみませんか?
「ねぇ、Ctrl+R、押してますか?」


お断り
記事内容は個人の見解であり、所属組織の立場や戦略・意見を代表するものではありません。
あくまでエンジニアとしての経験や考えを発信していますので、ご了承ください。

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?