xyzzy使ってるんだけど、自動補完してくれないかなーっていうところがあって。
で、
動的補完と静的補完の設定と使い方 | for programer | しょぼしょぼすくりぷと xyzzy
読んで、うーん、うーんってうなってようやくできたのでメモ。
静的補完と動的補完
静的補完ってのは、自分でそのリストを手書きで作ってやること。
動的補完ってのは、今開いているバッファから単語を検索してそれっぽいのを補完してやるってこと。
静的補完の準備
まず、xyzzyのホームディレクトリ*1に、.abbrev_defsってファイルを作る。作らなくてもいいかもしれない。でも、作らないとなんか設定値を保存してくれなかった。
なくてもO.K。作る時にセーブできる。ということでいきなりおもむろに次へ。
静的補完用の単語登録
なかなかややこしかった。間違ってるかもしれない。
例で示します。
- htmlモードで開いている時に、「hd」って入力したら、「hatenadiary」って自動的に入れて欲しい場合
おもむろに、test.htmlとHTMLファイルを開きます。いえ、単純になんでもいいのですが、M-x html-modeってやれば。
で、次に、hdと打ちます。hdの先頭で、C-spcでマークセット
そして、hdの後ろで、C-x C-hをします。これはモード単位での単語登録で、全部のモードで有効にしたい単語の場合はM-0 C-x C-a ってする。
単語の保存
実は、これではまだ登録したことになっていない。「バッファに登録しただけ」なんである。なのでまだ補完機能は使えない。
保存するには、M-x write-abbrev-file してやる。
すると、デフォルトの保存位置である~/.abbrev_defsを指定されるので何も考えずにリターン。
単語のロード
でもまだ使える状態にはなっていない。使うためにはabbrev-modeをONにしないといけないので、
M-x abbrev-mode
としてabbrev-modeをONにしてやる。
すると、hdって打ってリターンや半角スペースなどを入力すると、自動補完されるよ。