emacsめもその1・メジャーモード編

emacs布教日記書くとか言ってすっかり忘れてたのでなんか書いてみる。
布教というよりは「emacs以外のエディタよく知らんからなんとなく使ってるけどいまいち使いこなせてないなー」な人と情報共有できたらいいなくらいのノリで。っていうかそもそも私が使いこなせてないからメモ的な何か。

ぷろぐらまーじゃない人とかviひとすじな人とかは読み飛ばし推奨。
emacsすでに使いこなしてる人からのツッコミ歓迎。

 ***

とりあえずリンク

ぷろぐらま向け便利機能:メジャーモード編

emacsにはメジャーモードなるものがあって、編集するテキストの種類(要は何の言語書いてるか)によっていろいろカスタマイズされます。色分けとかインデントの設定とかキーバインドとか、その他各言語ごとの何かしら便利機能がいろいろ設定されます。
メジャーな言語ならデフォルトで対応してますがマイナーな言語でも対応するメジャーモードを探して入れてやればいい感じに動いたりします。
そしてどんな言語のプログラマにもemacs使いは存在するはずなのでたいがいどんな言語でも探せば見つかります。素敵。
またひとつの言語に対してもいろんなメジャーモードが開発されてたりするので、たとえばperlならデフォルトの perl-mode より cperl-mode の方が便利じゃね?とか好みで好きなもん選ぶとよいかんじです。

以下メジャーモードにともなう便利機能たち。

 ***

  • font-lock-mode

ソースが色分けされます。
メジャーモードで定義された文法に従うので、メジャーモードさえあればどんな言語でもちゃんと色分けしてくれます。まー素敵。

  • comment-dwim (M-;)
  • comment-region
  • uncomment-region

リージョン(選択範囲)をコメントアウトしたり逆にコメントをはずしたり。これを知ってるかどうかで作業効率大きく変わると思う。
ちゃんと現在使ってる言語(メジャーモード)に対応したコメント書式を自動で判別してくれるので言語ごとにコマンド使い分けなくて良いのがポイント。
コメントの入れ子とかもちゃんと対応してくれたりします。

  • indent-region (C-M-\)

リージョンを一気に自動インデントしてくれるよ。
文法エラー出たけどどこで括弧足りてないのかわかんねーよなときとかに便利と思うよ。
「Tab↓Tab↓Tab↓…」って連打することの多い人は試してみると良いよ!

  • align
  • align-regexp

リージョンをアラインメントしてくれるよ。
複数行でイコールとかコロンとかの位置をそろえたいなってときに使うと幸せになれます。
まあ私はずれてても気にs(ry

  • tabify
  • untabify

リージョン内のスペースをタブにしたりタブをスペースにしたり。
…だから何、とか置換でいいじゃんとか言われそうな気もするけどなにかと地味に便利なんだって。うん。

 ***

気が向いたら次回に続く。