初めてEmacsさわった

先に断っておきますが、「Emacsを含む日記」にとってノイズなエントリです。初めてEmacsさわったメモなので。ごめんなさい。

一番最初におぼえたこと

ctrl, alt(meta)またはEsc押下を、いろいろな場面で使う。以下、それぞれC-, M- で表記

起動
$emacs
終了
C-x, C-c
チュートリアル
M-x help-with-tutorial
一時的にEmacsから抜ける
C-z(fg または emacs で戻る)

画面の移動

画面を下方向に移動
C-v
画面を上方向に移動
M-v
現在のカーソル位置を画面中央にして表示
C-l

カーソルの移動

Ctrl
1行上
C-p
1文字進む
C-f
1行下
C-n
1文字戻る
C-b
行頭へ移動
C-a
行末へ移動
C-e
Meta(単語・文の移動)
1単語先へ
M-f
1単語戻る
M-b
文頭へ移動
M-a
文末へ移動
M-e
ファイルの先頭に移動
M-
ファイルの末尾に移動
M->

削除・挿入・ヤンク

削除
backspace
C-h
delete
C-d
消去
カーソルの直前の単語を消去
M-Backspace または Esc C-h
カーソルの直後の単語を消去
M-d
カーソルの位置から行末までを消去
C-k
カーソルの位置から文末までを消去
M-k
選択位置を消去(vimのビジュアルモードのようなもの)
C-@ または C-space ではじまり指定、C-wで終端を指定
ヤンク
ヤンク(最後に消去したものを)
C-y
ヤンク(消去したものをさかのぼる)
C-y M-y

※消去したものはヤンクできるが削除したものはヤンクできない。

取り消し(Undo)
Undo
C-x u または C-_ または C-/

コマンド

コマンドの引数・取り消し
前置引数で回数指定
C-u 数字 または Esc 数字
コマンドのキャンセル
C-g

※ミニバッファから抜けるときはEsc Esc Esc

コマンドの拡張
文字による拡張
C-x 文字
名前による拡張
Esc x 名前 または M-x
コマンドはTabキー補完できる
M-x repl s (Enter or Tab) -> M-x replace-string

ファイル

開く
C-x C-f
保存する
C-x C-s

複数のファイルを開いていったりきたり
編集中のファイルは自動セーブされる。クラッシュしても、ファイルを開いてM-x recover file すると、#filename.hoge#という自動セーブされたものを復活させてくれる。ただし通常の保存をしたときは#filename.hoge#という形で保存してくれない。

バッファ

現在開いているファイル・バッファのリストを表示
C-x C-b
ウィンドウをひとつにする(バッファの表示を消す)
C-x 1
今開いているほかのバッファに移動
C-x b ファイル名
バッファを保存
C-x s

ウィンドウ

  • C-x 2 で画面を2分割
  • C-x o で画面を行ったりきたり
  • C-M-v でカーソルのないほうの画面をスクロール
  • C-x 1 で今いる画面のみの表示にする
  • C-x 4 C-f ファイル名 で画面を分割してファイルを開き、開いたファイルへカーソルを移動

画面の下部分の表示

エコーエリア
最下部。コマンドの入力などが表示される
モードライン
エコーエリアの上。ファイルの情報や現在の編集モード、ファイル内の位置を行数・パーセントで表示。

編集モード

  • 編集モードを設定すれば、編集中のプログラムの文法にあわせてコメントの挿入(#とか;とか/*...*/とか)
  • マイナーモード(M-x auto-fill-mode など)の編集モードもある。

検索(インクリメンタルサーチ

C-s
前方
C-r
後方
  • Enterで終了
  • C-sで次を検索、C-rで前を検索

ヘルプ

  • M-x help (C-h) に続けてファンクション、キーワードを入力
  • Emacsについてもっと知りたいときはヘルプを

感想

なれないと難しい。なんか知らないうちにjjjjjjjjjjjjjjとか挿入されて焦ったりする。