^(ctrl)キーを駆使してホームポジションに引きこもる

この記事は、2014年01月29日にQiitaで投稿した以下の記事を転記したものです。

^(ctrl)キーを駆使してホームポジションに引きこもる
https://qiita.com/ikuwow/items/8e19910955285d347dce


Macにはcommand(⌘)キーがありますが、MacやLinuxを日常的に触る人間にとってはその⌘キーよりも^キー(ctrlキー)のほうが圧倒的に便利なのです。

これらのctrlキーマジックを利用すればほぼ完全にホームポジションに引きこもれます。

(Macだけで使えるものとLinux系のターミナルでも使えるものと混ざっています)

^H (ctrl+H)

deleteキーと同じ。カーソルの左側の一文字を削除する。 押すキーの数は増えるがホームポジションに近く、手首を固定したままで打てるし押し間違いが少なくなる。

^D (ctrl+D)

fn+deleteキーと同じ。カーソルの右側の一文字を削除する。 ボックスカーソルでは、そのカーソルのある部分の文字を削除する。 基本的には^Hと利点は同じだが、テンキーのないキーボードではもともとこの動作にfn+deleteと2つのキーを押すので、積極的にこちらを使っていくべき。

^A (ctrl+A)

カーソルを行頭に移動。 後述の^Kと合わせると行の文字を一瞬で全消去できる。 Safariだと上方向に1画面分スクロール。

^E (ctrl+E)

カーソルを行末に移動。End。 行に文字を追記するときに便利。 Safariだと下方向に1画面分スクロール。

^U (ctrl+U)

bashやMySQLなどのコンソール上でのみ動作。 カーソルの左側から行頭までの文字を全て削除する。 ↑キーや^Pでコマンドログを出してから^Uするとログからも削除される。 コマンドをタイプミスしたらこいつでリセットしよう。

^K (ctrl+K)

カーソルの右側から行末までの文字を全て削除。 ^Aの直後に使うことで行の文字をすべて削除できる。

^B (ctrl+B)

カーソルを1つ左側に移動。Back。 矢印キーもホームポジション離れを促進する1つなので多用していきたい。

^F (ctrl+F)

カーソルを1つ右側に移動。Forward。

^P (ctrl+P)

カーソルを1つ上に移動。Previous。 コンソールならコマンド履歴も見られる。 ちなみにSafariでも使えて、上に少しスクロールする。

^N (ctrl+N)

カーソルを1つ下に移動。Next。 コマンド履歴を新しい方にスクロールできる。 こちらもSafariで使える。

^V (ctrl+V)

カーソルを一番下に移動。 既に一番下の行なら、その行末に移動。

^O (ctrl+O)

カーソルの右側に改行コードを挿入。Open。 改行したいけどカーソルは次の行に持って行かれたくないというときに。

^Y (ctrl+Y)

^Kで削除された文字列をペースト。Yank。 コンソールだと使えるが、ただの文字挿入モードなどでは使いづらいか。 ^Uで削除された文字は⌘Cや⌘Xでのコピー・切り取りとは別のレジスタに格納されるようだ。

^T (ctrl+T)

カーソルの右側と左側の文字列を入れ替える。 入れ替えた直後は、その2つの文字の右側にカーソルが移動するため、 連打すると初めにカーソルの左側にあった文字がどんどん先に進んでいく。楽しい!

^J (ctrl+J)

bashやMySQLなどのコンソール上でのみ動作。returnキーと同じ。 キーボードの打鍵音で一番耳障りになりがちなreturnキーのタイプを避けられる。

^L (ctrl+L)

コンソールのみで動作。画面をリセットし、表示されているログを消し去る。 パスワードファイルをチラっと確認したときや、ストレス解消にどうぞ。

^R (ctrl+R)

コンソールのみで動作。コマンドヒストリのリバースサーチモードになる。 文字を入力していくと中間一致で一番近いコマンドが現れる。 以前のコマンドをだしてから^Eなどで抜けて引数変えるなどすると以前に打ったコマンドを有効活用できる。