abbrevの使い方
■abbrevで使いそうな関数とか
自分が良く使うabbrev関係の関数(上から使用頻度高め順)
- expand-abbrev [C-x '] :展開(補完)
- expand-region-abbrevs :regionの範囲内の展開できる単語を全部展開
- abbrev-prefix-mark :展開範囲の設定
- edit-abbrevs :補完対象を編集する時
- unexpand-abbrev :展開を元に戻す(undoでいいかも)
- abbrev-mode :avvrevモードにする。(SPCでexpand-abbrevをする。ちょっと微妙だけど)
- add-mode-abbrev [C-x C-a] :モードごとのabbrevに補完候補を追加。
- add-global-abbrev [C-x +] :globalなabbrevに追加
- inverse-add-mode-abbrev
- inverse-add-global-abbrev [C-x -]
大体Emacsと同じなのでEmacsのreferenceとかも参考になる。abbrev-prefix-markの話とか分かり難いのは読むと良いかも。
静的補完を補完するlisp、abbrev-complitionとかもある。
■補完候補を設定する。
補完候補の設定にはedit-abbrevsかadd-mode-abbrevを使う。
add-mode-abbrev
- 補完したい候補regionで囲う
- C-x C-a
- 補完する前の文字を書く。
edit-abbrevs
- M-x edit-abbrevs
- 設定を書き加える
- C-x C-sで保存。
edit-abbrevsの設定する書式が分からない時は、一度add-mode-abbrevを使って適当な補完の設定すれば、edit-abbrevsに設定されたものが出てくるので、それを真似して設定すればよい。一応例を書いてみると。
ex : lispモードでpoと入力した時に、expand-abbrevを実行すると(point)と補完される設定。途中の0はその展開の使用回数だとか
(editor::*lisp-mode-abbrev-table*) "po" 0 "(point)"
edit-abbrevsで設定した後は、C-x C-sで普通に保存すれば良い。xyzzyを再起動した時に設定した補完候補が消えて、気に入らない場合はabbrevの設定を先にする。