bashのコマンドライン編集のショートカットキー
問題
bashのコマンドライン編集では、コピー&ペーストや元に戻すなど可能でしょうか。
答え
以下のような操作が可能。
※「+」は一緒に押す。「,」は順に押す。
カーソル移動
| Ctrl + A | 行頭に移動 |
|---|
| Ctrl + E | 行末に移動 |
|---|
削除(切り取り)
| Ctrl + U | カーソル位置から行頭まで削除 | |
|---|
| Ctrl + K | カーソル位置から行末まで削除 | |
|---|
| Ctrl + W | 左方向に次のスペースまで削除 | 引数を1つずつ削除するときなどに便利 |
|---|
| Esc, Delete | 左に1単語ずつ削除 | ファイルのパスを1階層ずつ削りたいときなどに便利 |
|---|
| Esc, D | 右に1単語ずつ削除 | |
|---|
| Delete | 左に1文字ずつ削除 | |
|---|
| Ctrl + H | 左に1文字ずつ削除 | |
|---|
| Ctrl + D | 右に1文字ずつ削除 | Deleteの逆向きに消すのはこれでできる |
|---|
貼り付け
操作を戻す
| Ctrl + -(マイナス) | 操作を戻す |
|---|
| Esc, R | 操作をすべて戻す(最初に戻る) |
|---|
コマンド履歴
| ↑ | 前のコマンドの履歴 |
|---|
| ↓ | 次のコマンドの履歴 |
|---|
| Esc, Shift + < | コマンドの履歴の先頭 |
|---|
| Esc, Shift + > | コマンドの履歴の末尾 |
|---|
| Ctrl + R, キーワード入力 | コマンドの履歴の検索 |
|---|
| (上の検索中に)Ctrl + R | コマンドの履歴の検索で前の候補へ |
|---|
| (上の検索中に)Ctrl + S | コマンドの履歴の検索で次の候補へ(端末のCtrl+Sが有効だと機能せず) |
|---|
メモ
以下のコマンドで、どういう設定になっているか確認できる。
stty -a
以下のコマンドでキーバーインドの確認もできる。
bind -p
bind -p | grep -E '^"\\[CeM]'