BashやPython、GDB、psql、sqliteなどUNIX系の行編集を行うツールの多くは、「GNU Readline」とよばれるライブラリを採用しています。
GNU Readlineは、履歴や補完、移動、編集など、多数の便利な機能を備えた強力なライブラリで、使いこなすことができればコマンドラインツールの生産性を大きく向上させる事ができます。
熱心なEmacsファンのMickey Petersen氏は、このGNU Readlineの使い方を詳しく紹介するドキュメント「Keyboard Shortcuts every Command Line Hacker should know about GNU Readline」を公開しています。
同氏は、GNU Radlineは多くのユーザーが思うよりずっと高機能で、一度覚えればさまざまなプログラムで利用する際に恩恵があり、一握りのキーバインディングを覚えることで、コマンドラインの生産性が飛躍的に向上すると主張しています。
基本から上級テクニックまで
同記事には、GNU Readlineの基本から上級テクニックまで幅広い情報が掲載されています。
▲「基本のナビゲーションと編集」では、カーソルの移動方法や、文字列の編集方法を学ぶ事ができます。C-b
, C-f
、C-a
、C-b
による移動など、Emacsと共通のキーバインドが利用できる事がわかります。
▲また大変便利な機能である、履歴検索機能で使用できるキーボードショートカットも掲載されています。多くのユーザーが知っているC-r
以外にも、多数のショートカットが存在する事がわかります。
▲GNU Readlineの真価が発揮される機能としてキーボードマクロが紹介されています。キーボードマクロの記録、再生が可能で、入力の手間を省くことができるとのことです。
他にもテキストの補完や、Bash特有のキーバインド、おすすめの設定など、GNU Readlineを使いこなす上で知っておきたい情報が多数掲載されています。気になった方はリンクを辿って確認する事をおすすめします。
また、Hacker Newsでもこの記事に関する議論が交わされており、記事を補足する情報など、さまざまな有効な情報が書き込まれています。