Emacs キーバインド その1 カーソル移動

ふと思い立って Emacs マニュアルを片手にキーバインドをまとめ直したので記録します。

第1回はカーソル移動についてです。…一部検索も含みますが。

言うまでもありませんが「C-x」は Ctrl キーを押しながら x を押すという意味です。
同様に「M-x」は Alt キーを押しながら(あるいは ESC を押してから) x を押します。
あと「C-x n」は「C-x」の後に(Ctrl を放してから) n を押します。

以下で使用している「a/b」は独自表記で a または b を意味します。
そのキーバインドの説明で【上、下】のように書いてあれば、a の時が「上」で b の時は「下」と考えてください。

単位ごとの移動

  • C-p/C-n :【後方(上)、前方(下)】の行へ移動
  • C-b/C-f :1文字【後方(左)、前方(右)】に移動
  • M-b/M-f :1単語【後方(左)、前方(右)】に移動
  • M-a/M-e :文 1つだけ【後方(左)、前方(右)】に移動
  • M-[/M-](角括弧の開き/閉じ) :1段落【後方(上)、前方(下)】に移動
  • C-x [/](角括弧の開き/閉じ) :1ページ(^L文字で区切られている)【後方(上)、前方(下)】に移動

先頭と末尾への移動

  • C-a/C-e :行の【先頭、末尾】へ移動
  • M-</M-> :バッファの【先頭、末尾】へ移動

スクロール・位置指定

  • C-v :1画面進む(下)方向にスクロール
  • M-v :1画面戻る(上)方向にスクロール
  • C-l :現在行が画面中央に来るようにスクロール
  • M-g M-g :指定する行番号へ移動
  • M-r :画面中央の行へカーソル移動

検索(インクリメンタルサーチ)
文字を入力しながら検索します。1文字入れるごとに候補を絞り込みます。

  • C-s :前方(画面下)へサーチ、サーチ中なら前方の次候補へ移動
  • C-r :後方(画面上)へサーチ、サーチ中なら後方の次候補へ移動

現在位置で検索を終了したければ ENTER か、カーソル移動コマンドを使えばいいです。
検索開始位置に戻りたい場合には C-g を利用します。


特殊:プログラムのソースファイル向け

  • C-M-b/C-M-f :式 1つ分だけ【後方(左)、前方(右)】に移動
  • C-M-p/C-M-n :リスト 1つ分だけ【後方(左)、前方(右)】に移動
  • C-M-a/C-M-e :最上位のまとまり(関数定義など) 1つ分だけ【後方(上)、前方(下)】に移動
  • C-M-u/C-M-d :リスト階層で 1つ【上(外)、下(中)】へ移動
  • M-m :現在行の先頭の非空白文字(字下げした行頭)へ移動

とまあ色々とありますが、とりあえず下の 3パターンだけ覚えておけば何とかなります。

  • C-p/C-n/C-b/C-f :1つ【上、下、左、右】へ移動
  • C-s/C-r :【前方(下)、後方(上)】へ検索開始・次候補へ移動
  • C-v/M-v :1画面【前方(下)、後方(上)】へスクロール

余裕があれば 単語移動の M-b/M-f、行頭 C-a、行末 C-e、バッファ先頭/末尾 M-<、M-> も覚えておくと便利です。