[emacs] effective emacs

del.icio.usemacsを検索したところここのサイトによい情報が乗ってる気がした。(またもやSteveだったか(ノ∀`) この人、googleプログラマRailsJavascriptに移植しちゃったりしてる人です)

とりあえずメモメモ ちょっとだけ訳してみました

その1、 Caps-LockとCtrlを交換しよう

C-(Ctrl)はEmacsを使うメインキーですが、その位置はプログラムをするにはあまりよい位置ではありません。なので、Caps-LockでC-を実行させるようにすることは、Emacsを使う上で必須条件となるでしょう.. てな感じの内容

Windowsレジスタとかいじっちゃってるよ まぁこんぐらいやらないと効率的なプログラムはかけないのだけれどもさぁ(ノ∀`)、



linuxでも.xmodemapを次のような感じ

 !
 ! Swap Caps_Lock and Control_L
 !
 remove Lock = Caps_Lock
 remove Control = Control_L
 keysym Control_L = Caps_Lock
 keysym Caps_Lock = Control_L
 add Lock = Caps_Lock
 add Control = Control_L

にするとか書いてるし.. まあとりあえず第一はキーボードの位置の交換って内容でした。とりあえず作業効率はこっちのほうが断然よくなるらしいです

その2 M-xをAltキーなしで実行しよう

Emacsを実行する時にM-xを実行することが多いですが、それを打つのは苦痛を伴います。というわけで、その1で交換したCaps Lock(C-)を使ってM-xを実行できるようにしましょう

というわけで.emacsに次のような設定をする

To enable the Ctrl-x Ctrl-m sequence add the following lines to your .emacs file:

(global-set-key "\C-x\C-m" 'execute-extended-command)
(global-set-key "\C-c\C-m" 'execute-extended-command)

これで、C-x C-mでM-xが実行できるようになる.

これで君は永遠にM-xからおさらばだぜって内容でした。

その3 BackSpaceなぞつかってたまるか!C-wをBackspaceがわりにしよう

BackspaceはEmacsハカーは絶対に使わない。なぜならそれはホームスペースから異常に遠く、プログラミングをする際の障害になるからである。よってわれわれはC-wをBackspaceとして使うことを提案する

(global-set-key "\C-w" 'backward-kill-word)
(global-set-key "\C-x\C-k" 'kill-region)
(global-set-key "\C-c\C-k" 'kill-region)

登録はこんな感じでやる

ただし、C-wは既にkill-regionとして登録されてるから、C-x C-kをkill-regionとして再登録するのも忘れてはいけないんだって感じの内容

その4 インクリメンタルサーチをナビゲーター代わりにしよう

IDEとか使ってるやつらはマウスとか使ったりして、非常に多くの時間を移動するためだけに費やしてほんとに馬鹿馬鹿しい。やつらは他に移動の手段なんてあるとは夢にも思わないだろうけどさ!

検索方法はまず、C-sを押し、検索キーワードを入力する。移動方法は、下に検索したい場合はC-s、上に行きたい場合はC-rでOKだ。検索が終わり検索を実行した位置に戻りたい場合はC-gを押せば戻れる。 また、もし君がその場所で検索を終えたいならEnterをおせばその位置で検索は終了する

この検索の素晴らしさはその技術を身につけたものにしか分からないだろう。 なぜならこの手段をマスターするには、様々なテクニックやキーストロークを必要とするからである。

ううむ、マスターしたいものだ+(0゚・∀・) +

その5 temp bufferをつかおう

emacsの強烈な機能の一つにbufferの容易な作成機能がある。temp bufferを作る方法は簡単だ. C-x bを実行すれば作ることができる。このコマンドの意味はswitch-to-bufferの生起ってことだな。

temp bufferを使うことで、君はそれをノート代わりに使えるようになる。今起きてる問題について書いたり、たんなるメモとして使ったり.. まぁ使用方法はたくさんあると思う。

しかもそのバッファはファイルと結びついてないからC-x kを実行することで簡単に消すこともできる

もし、temp bufferをファイルとして保存したいならC-x C-wを実行すればよい。そうすればそれは今からファイルの仲間入りとなり保存することができる。

その6 bufferとwindow関係のコマンドをマスターしようぜ

君が何かを編集する時は大抵たくさんのウィンドウを開いて個別にそれを編集するだろうがEmacs使いはそんなことは決してしない!

なぜならやつらは、ウィンドウやバッファの移動をEmacs内部ですることで自己完結するからさ..

その7 メニューバーとか消しちゃおう

メニューバーとかEmacsに慣れてくるとまったくもって必要じゃなくなる。むしろいらない機能となるのでそれを消してしまおう!

やり方は以下のようになるんだ

>|lisp
(if (fboundp 'scroll-bar-mode) (scroll-bar-mode -1))
(if (fboundp 'tool-bar-mode) (tool-bar-mode -1))
(if (fboundp 'menu-bar-mode) (menu-bar-mode -1))
|

その8 重要なヘルプ機能について学ぼう

その9 正規表現をマスターしよう

その10 text編集コマンドの差異についてマスターしよう


10を終えてやるべきこと...

1, fill-paragraphをつかおう!(M-q)

2, gnuservをつかおう

3, Diredを使おう。 Diredには他のツールではできない機能が色々とある。(正規表現でのグループのファイル名の変更とか)

4, C-x C-o(whitespace-manipulation-command) を使えるようにしよう!

5, nxml-modeを使おう (xml編集時には他のIDEなんかにはぜったいにひけをとらない)

6, picture-modeを使おう

7, minibuffer management:..

8, キーをリバインドして使いやすくしよう

9, regionをつかいやすくしよう. regionの色を変えたり、その他色々

10, rectangleコマンドを使おう rectangleコマドはマスターしたらそれなしでプログラムをすることはできなくなるだろう

11, emacs shellを使おう

12, align-regexpコマンドを使おう: つい最近学んだけどいまじゃ毎日使ってるね!

13, frameの開始位置をうまく設定しよう

14, goal columnの設定をしよう : power emacsユーザはみんなやってるだろうけどね!

15, fill columnの設定をしよう

16, OSの設定をしよう! フォントの設定とかキーボードの速度の設定とか

17, アーカイブを見たり編集したりしよう tar.gzとかのたぐい

18, 発展系のキーバインディングについて学ぼう

19, kill-ringをマスターしよう

20, infoをマスターしよう

21, M-xをカスタマイズしよう

22, M-x calendar, M-x calcといったアプリを使おう


てな感じの内容でした... 一部抜かしているのは力尽きたため