[ターミナル] コマンドの履歴検索と実行

2017.03.28

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ターミナルでコマンド履歴の検索を行うには reverse-i-search を利用すると便利です。
このモードの実行キーは control + r です。

実行

control + r を実行すると以下の画面が表示され、履歴検索モードとなります。

1

この状態で文字列を入力すると、その文字列が含まれるコマンドが履歴から抽出され、入力候補として表示されます。
ここでは文字列「git」を入力してみます。

2

git pull というコマンドが履歴から抽出されました。

次のキー入力で様々なアクションを実行できます。

  • control + m または return
    • コマンドを実行
  • control + [ または esc
    • コマンドを採用(実行はしない)
  • control + r
    • さらに過去の履歴を検索
  • control + s
    • 現在のコマンドより未来の履歴を検索
  • control + g
    • 履歴検索モードの終了

control + s の設定

control + r で履歴を遡りすぎた場合は control + s で戻るということができますが、このキーバインドはデフォルトでは有効になっていません。(たぶん)
stty というユーティリティで control + s が使用されているので、こちら側を無効化してしまいます。
なお、stty の control + s はターミナルの出力をロックするコマンドです。

以下のコマンドを実行すると現在の設定を確認できます。

$ stty -a

3

stop という設定に control + s が割り当てられていることが確認できます。
これを無効化するためには以下のコマンドを実行します。

$ stty stop undef

stop が未割り当てになりました。

4

この設定はセッション間でしか有効にならないため、常時この状態にするために ~/.bash_profile または ~/.bashrc に以下の一文を書いておきましょう。

stty stop undef

さいごに

コマンド履歴の検索はとても便利です。
control + rcontrol + s を駆使して作業効率を高めましょう。

リンク

ミレニアム・ファルコン製作日記 #61

61 号 表紙

mfd_61_1

パーツ

mfd_61_2

mfd_61_3

mfd_61_4

成果

mfd_61_5

今回の作業は以下の 1 つでした。

  • 上部外殻フレームを拡張する

前回の続きですね。
上部外殻フレームを取り付けました。
組立ジグもあとひとつで円形になります。
上部外殻フレームの組み立て後はどんな作業が待っているのでしょうか。
プレートも早く取り付けたいですね。

それではまた次回。

May the Force be with you!