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 メモ]]