Emacs


Emacsとは?

Emacsは統合開発環境とまで呼ばれるほど高機能なエディタです。最大の特徴は機能が拡張可能なemacs lisp (注:本家のlisp言語をemacs用に簡易化したもの)を利用することで機能をほぼ無限大に拡張できることが挙げられます。20年以上も前からあるエディタが今日まで残って使われて続けられているのはおそらくこの機能のおかげでしょう。このように、今日ではUNIXなどでは最もよく使われているテキストエディタの一つとなったため、UNIXで開発を行う上で必要不可欠なツールであると言っても過言ではありません。

Emacsの起動と終了

操作

キー

コマンド

Emacsの起動

emacs


特定のファイルの編集

emacs filename


Emacsの終了

C-x C-c

save-buffers-kill-emacs

Emacsの一時停止

C-z

suspend-emacs


では、起動してみましょう。emacsと打ち込んでみてください。後

$ emacs 
これでemacsが起動され、起動画面が表示されます。

ファイル・バッファの操作

ファイル操作

ファイルを開く

C-x C-f

find-file

リードオンリーでファイルを開く

C-x C-r

find-file-read-only

別のファイルを開く

C-x C-v

find-alternate-file

カーソルの位置にファイルを挿入する

C-x i

insert-file

ファイルを保存する

C-x C-s

save-buffer

別の名前でファイルを保存する

C-x C-w

write-file


では、次に新しいファイルを作成しましょう。"Ctrl + f"を押してみてください。emacsの下の方に"Find File: ~/"と出るはずです。ここで新しく作りたいファイル名を打ち込んで入力すれば、新しいファイルの入力が始められます。

バッファ操作

新しいバッファを作る

C-x b buffername

switch-to-buffer

既存のバッファに移動

C-x b buffername

switch-to-buffer

バッファのリストを表示

C-x C-b

list-buffers

別のウインドウでバッファを選択する

C-x 4 buffername

switch-to-buffer-other-window

別のフレームでバッファを選択する

C-x 5 buffername

switch-to-buffer-other-frame

バッファの読み出し専用状態の切り替え

C-x C-q

vc-toggle-read-only

バッファを消去する

C-x k buffername

kill-buffer

ファイルの編集

1文字順方向に移動

C-f

forward-char

1文字逆方向に移動

C-b

backward-char

1文字上に移動

C-p

previous-line

1文字下に移動

C-n

next-line

1単語順方向に移動

ESC f

forward-word

1単語逆方向に移動

ESC b

backward-word

行の先頭に移動

C-a

beginning-of-line

行の最後に移動

C-e

end-of-line

1画面分順方向に移動

C-v

scroll-up

1画面文逆方向に移動

ESC v

scroll-down

ファイルの先頭に移動

ESC <

beginning-of-buffer

ファイルの末尾に移動

ESC >

end-of-buffer

カット&ペースト

1文字削除

C-d

delete-char

1文字前に削除

DEL

delete-backward-char

1単語削除

ESC d

kill-word

1単語前を削除

ESC DEL

backward-kill-word

行を削除

C-k

kill-line

マークをセットする

C-@またはC-SPACE

set-mark-command

マークされたテキストを削除

C-w

kill-region

マークされたリージョンをコピー

ESC-wまたはC-Insert

kill-ring-save

マークされたリージョンをペースト

C-y

yank

前に削除したものをペースト

ESC y

yank-pop

ポイントとマークの位置を交換

C-x C-x

exchange-point-and-mark

前に削除したものをペースト

ESC y

yank-pop

検索と置換

検索

順方向へインクリメンタルサーチ

C-s

isearch-forward

逆方向へインクリメンタルサーチ

C-r

isearch-backward

順方向へノンインクリメンタルサーチ

C-s Return

search-forward

逆方向へノンインクリメンタルサーチ

C-r Return

search-backward

置換

対話的置換

M-%

query-replace

対話的置換(正規表現)

C-M-%

query-replace-regexp

一括置換

 

M-x replace-string

一括置換(正規表現)

 

M-x replace-regexp

その他

一致するものを一覧表示

 

M-x occur

一致するものの個数を表示

 

M-x count-matches

一致するものを含む行を削除

 

M-x flush-lines

一致するものを含まない行を削除

 

M-x kepp-lines