- 追加された行はこの色です。
- 削除された行はこの色です。
Linux(というか UNIX)の高機能エディタ。
全部コマンド操作というマニアックなエディタなので、そのよく使うコマンドをメモしておく。
#contensts
#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]
$ etags *.[chCH]
とすると、TAGS が生成される。
とすると、C/C++ ソースファイルに対する TAGS が生成される。
サブディレクトリまで掘る場合は、
$ find ./ -name "*.[chCH]" | etags -
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 メモ]]