Emacs よく使うコマンドまとめ
よく使うコマンドたちの備忘録。
コマンドの基本的な打ち方
C-u
などと書くと、Controlキーと"u"を一緒に押します。C-u 0
となっているときは、一度C-u
を押してから指を離して、"0"だけ押します。M-x
などと書くと、「メタエックス」などと呼ばれ、alt (option) キーと"x"を一緒に押します。- とにかくコマンドを中止したいときは
C-g
を押しておけばOK。下のミニバッファにQuit
と表示される。
カーソル移動
C-u 0 C-l
: 現在のカーソルの位置が画面の一番上に来るようにするC-u -1 C-l
: 現在のカーソルの位置が画面の一番下に来るようにするC-l
: 現在のカーソル位置が画面の中央に来るようにするC-v
: 次の画面に進む(スクロールする)M-v
: 前の画面に進む(スクロールする)
検索
C-s
: いわゆる"i-search forward"。現在のカーソルの位置から順番に検索する。次の候補を探したいときはもう一度C-s
を押せばいい。C-s
しまくっていると2巡目に入る("wrapped i-search")。ウィンドウをクリックすると検索は終了する。検索を中止して元の位置に戻りたいときはC-g
でよい。C-r
: "i-search backward"。現在のカーソル位置から逆順に検索する。詳細は上に同じ。- とても便利なことに、
C-s
をなんども押して検索している途中でC-r
を押すと一つ前の検索結果にヒットするし、C-r
で該当するものを探している時にC-s
を押しても大丈夫。
- とても便利なことに、
置換
M-%
: 検索でヒットした全ての場所で置換するか問われるので置換するならy
、しないならn
、置換をやめるならq
と答える。M-x query-replace
でもよい。M-x que
くらいまで打ってからTAB
を押すとあとは補完してくれる。検索する文字列を入力してRET
、置換したい文字列を入力してRET
と打てばよい。M-x replace-string
: 現在のカーソル位置以降で検索にヒットするものを問答無用で全部置換する。"replace all"みたいな気持ち。M-x replace-regexp
: 入力は正規表現を受け付ける。これの何が嬉しいかというと、「行頭の"a"だけ消したい」とか「全ての行末に"!"を追加したい」とか「TAB
を一気に別の文字に変換したい」のような、不可視文字に対する操作だって楽々できるところ。
TODO: 正規表現の各コマンドをメモしておくM-x untabify
: 選択した範囲内のタブを全てスペースで置き換える。タブ幅などの見た目は変わらないのでとてもよい。
参考: タブをスペースに変換する(untabify) - かわちょ日記
コメントアウト
行数の表示
M-x linum
: 画面の左側に行番号を表示する
ウィンドウ分割
C-x 2
: 縦に2分割C-x 3
: 横に2分割C-x 0
: 分割をやめる
バッファ
C-x C-b
: バッファ一覧を表示する List Buffers - GNU Emacs ManualC-x k
: バッファを削除する