キーバインドは、特定のキーの組み合わせをアクションにマッピングするだけです。
コマンド ライン環境以外でよく知られているキーバインドは、次のようなものです。
- Control-c:選択したテキストをコピー
- Control-v:コピーしたテキストを貼り付けます
このチュートリアルでは、コマンド ライン環境で提供されるデフォルトのキーバインドのいくつかを見ていきます (また、忘れた場合の参照先も示します)。
デフォルトで使用できるキーバインドは多数あります。 Linux コマンド ラインで作業して、ナビゲーションと編集をより簡単にします。それらは Readline と呼ばれるツールを利用しています。
私がよく使うものをいくつか紹介します (Emacs エディターに精通している場合は、類似点に気付くでしょう):
移動キーバインド
移動には次のキーバインドが使用されます:
キーバインディング | 説明 |
---|---|
Control-a | 行頭にカーソルを置く |
Control-e | 行の最後の文字の後にカーソルを置きます |
Control-f | カーソルを 1 文字前方に移動します (矢印キーと同じ動作) |
Control-b | カーソルを 1 文字後ろに移動します (矢印キーと同じ動作) |
削除キーバインディング
削除には次のキーバインドが使用されます:
キーバインディング | 説明 |
---|---|
Control-k | カーソルの後ろ (およびカーソルを含む) のすべてのテキストを削除します |
Control-u | カーソルの前 (カーソルを除く) のすべてのテキストを削除 |
Control-w | カーソルの直前の WORD を削除します (WORD は連続する非空白文字のシーケンスです) |
Control-h | カーソルの前の文字を削除します (バックスペースを考えてください) |
Control-d | テキストが存在する場合 => カーソル下の文字を削除します (delete と考えてください)。テキストがない場合 => シェルを終了 |
履歴キーバインド
履歴には次のキーバインドが使用されます:
キーバインド | 説明 |
---|---|
Control-p | 前のコマンドに切り替える |
Control-n | 次のコマンドに切り替える |
Control-r | 逆インデックス検索 (コマンドの一部を入力できます。一致するコマンドをコマンド履歴から逆順に検索します) |
その他のキーバインド
以下はその他のキーバインドです:
キーバインド | 説明 |
---|---|
Control-l | ディスプレイのクリア (「クリア」コマンドと同様) |
Control-j | 現在のコマンドを実行 (Enter/Return と同じ) |
Control-c | 現在のコマンドをキャンセルし、空のプロンプトを返します |
Control-/ | 最後に元に戻した編集をやり直す |
コントロール? | 最後の編集を取り消す |
.
現在バインドされている、利用可能なキーバインドと機能の完全なリストを表示するには、「バインド」コマンドを使用します (忘れた場合は、これがクイック リファレンスとして役立ちます)。
$ bind -p
次のような出力が表示されます:
"\C-g": abort "\C-x\C-g": abort "\e\C-g": abort "\C-j": accept-line …
フォーマットは次のとおりです:
key combination: binding
独自のカスタム キーバインドを定義するために同じ形式を使用することに注意してください。
grep を使用して、関心のあるバインディングを見つけることができることを忘れないでください。
たとえば、Control キーを使用するバインディングのみを表示するには:
$ bind -p | grep '\\C'
注:上記のコマンドでは、grep 文字列内のバックスラッシュ (\) 文字をエスケープする必要があります。