Linux(というか UNIX)の高機能エディタ。

全部コマンド操作というマニアックなエディタなので、そのよく使うコマンドをメモしておく。

#contents

** コマンドの意味 [#g063f1f2]

- Ctrl キーとのトグルを "C-" と表記する。
- Alt キーとのトグルを "M-" と表記する。(Meta キーというらしい)

Ctrl キーを押しながら "x" を押す、という場合は "C-x" と表記する。&br;
Ctrl を押しながら "x" 続けて トグルなしで "u" という場合は "C-x u" と表記する。&br;
Ctrl を押しながら "x" 続けて Ctrl を押しながら "c" という場合は "C-x C-c" と表記する。

Tera Term などのターミナルでリモートでやる場合、Alt キーで Meta キーの送信をするように設定しておくこと。&br;
キーボードの設定あたりにそういう設定があるはず。

** 基本 [#ta856c4d]
|コマンド|説明|h
|C-x C-f (ファイル名)|ファイルを開く|
|C-x C-s|上書き保存|
|C-x C-w(ファイル名)|名前を付けて保存|
|C-x C-c|保存して終了|
|C-x u|元に戻す|
|C-g|コマンドのキャンセル|


** カーソル移動 [#e6c8a4d0]

|コマンド|説明|h
|C-f|1文字右へ移動|
|C-b|1文字左へ移動|
|C-p|1行上へ移動|
|C-n|1行下へ移動|
|C-a|行頭へ移動|
|C-e|行末へ移動|
|||
|C-v|次のページへ移動|
|M-v|前のページへ移動|
|M-a|文頭へ移動|
|M-e|文末へ移動|
|M->|文頭へ移動(現在位置を記憶)|
|M-<|文末へ移動(現在位置を記憶)|
|C-x L|指定行へ移動|

** 編集 [#ia97b198]

|コマンド|説明|h
|C-SPACE|選択開始|
|M-w|コピー(選択範囲)|
|C-w|切り取り(選択範囲)|
|C-y|貼り付け|
|C-d|1文字削除|
|BS,Del|1文字削除(カーソル位置の左)|
|C-x h|全選択|

** ウィンドウ操作 [#g3609a57]

Emacs は CUI なのに ウィンドウ という概念を持っている。さらに、バッファという概念もある。これがトーシロー(死語)には混乱の種になる。

- ウィンドウというのは、今表示されている画面のこと。
- バッファというのは、今開いているファイルのこと。

ウィンドウは 2分割して 2つのバッファ(2つのファイル)を表示させたりできる。Windows でいう MDI みたいなもんだと思えば良いか。

|コマンド|説明|h
|C-x C-b|バッファ一覧表示(開いてるファイル一覧ということ)|
|C-x b|バッファ切り替え(ウィンドウに表示するファイルを切り替えるということ)|
|C-x k|バッファを消す(開いてるファイルを閉じるということ)|
|C-x 0|現在のウィンドウを閉じる(ファイルは閉じない)|
|C-x 1|現在のウィンドウ以外を全て閉じる(ファイルは閉じない)|
|C-x 2|ウィンドウを上下に分割する|
|C-x 3|ウィンドウを左右に分割する|
|C-x o|開いている次のウィンドウを表示する|

** 検索 [#z90d68f6]

|コマンド|説明|h
|C-s|次を検索|
|C-r|前を検索|
|M-%|置換|


** タグジャンプ [#we963ca3]

C/C++ のプログラムをする際に便利な機能。

タグジャンプを利用するには、最初に TAGS ファイルをつくる。ソースファイルのあるディレクトリをカレントにして

 $ etags *.[ch]

とすると、TAGS が生成される。

TAGS ができれば、そのディレクトリ下のソースファイルでタグジャンプが使える。

|コマンド|説明|h
|M-.|カーソル位置の定義位置へジャンプ|
|C-x 4 .|カーソル位置の定義位置へジャンプ(別ウィンドウが開く)|
|C-x 5 .|カーソル位置の定義位置へジャンプ(別フレームが開く)|
|M-*|ジャンプする前の位置へ戻る|

** コンパイル [#q9391937]

Emacs は、なんとコンパイルまでその画面上でできる!何かスゴイネ。

M-x に続けて「compile」と打ち込むと、コマンドラインに「make -k」と表示される。

カレントディレクトリに Makefile があれば make が走る。ない場合は gcc (ファイル名) とでも指定すればコンパイルができる。

コンパイラが吐き出すメッセージも下ウィンドウに表示され、エラー行がある場合は、そのメッセージを選択して C-x で行ジャンプまでできる。

このへんはマクロやキーマップに登録しておくと良いかも。


** 高度な使い方 [#t473c4c5]

とりあえず、基本をマスターしてから書くよ?

** 参考 [#b550a477]

- [[Emacs クイックリファレンス:http://www.unixuser.org/~euske/doc/emacsref/]]
- [[Emacs で C 言語プログラミングを始める人へのイントロダクション:http://at-aka.blogspot.com/2006/12/emacs-c.html]]
- [[GNU Emacsマニュアル:http://www.bookshelf.jp/texi/emacs-20.6-man-jp/emacs.html]]


-----
[[Linux メモ]]


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS