Next: , Previous: , Up: abbrev(略語)   [Contents][Index]


30.5 abbrevのテストと編集

M-x list-abbrevs

すべてのabbrev定義のリストを表示します。数引数を指定した場合は、ローカルなabbrevのリストだけを表示します。

M-x edit-abbrevs

abbrevのリストを編集します。定義の追加、変更、削除ができます。

M-x list-abbrevsの出力は以下のようなものです:

various other tables…
(python-mode-skeleton-abbrev-table)
"class" (sys)	    0 "" python-skeleton-class
(lisp-mode-abbrev-table)
"ks"          0    "keymap-set"
(global-abbrev-table)
"dfn"         0    "definition"

(空行に意味はありません。また他のabbrevテーブルは省略しています。)

カッコで括られた名前を含む行は、特定のabbrevテーブルのabbrevにたいするヘッダーです。global-abbrev-tableはすべてのグローバルなabbrevを含み、その他のメジャーモードの後ろについたabbrevテーブルは、モード特有のabbrevを含みます。

それぞれのabbrevテーブルで、空行でない行は1つのabbrevの定義です。行の先頭の単語はabbrevです。その後ろの数字は、そのabbrevが展開された回数です。Emacsはこれを追跡することにより、実際に使用されているabbrevを調べて、ときどきしか使わないものを削除するのを助けます。行の最後の文字列はabbrevの展開結果です。

(sys)’とマークされているabbrevもいくつかあります。これらはsystem abbrevs(システムの略語)で、さまざまなモードにたいして事前に定義されており、ユーザーのabbrevファイルには保存されません(Abbrevs in The Emacs Lisp Reference Manualを参照してください)。systemのabbrevを無効にするには、同じ名前で展開結果がabbrev自身と同じになるabbrevを定義し、それをabbrevファイルに保存してください。system abbrevsにはabbrev展開を行うために呼び出されるフック関数が割り当てられています。この関数の名前は、list-abbrevsによって表示されるそのバッファーのabbrev展開にしたがいます。

M-x edit-abbrevsを使うと、Emacsバッファーでabbrevのリストを編集することにより、abbrev定義の追加、変更、killができます。リストの書式は、上記で説明した書式を同じです。abbrevのバッファーは*Abbrevs*と呼ばれ、モードはEdit-Abbrevsモードです。このバッファーでC-c C-cをタイプすると、そのバッファーで指定されたabbrev定義がインストールされ、リストに定義されていないabbrevは削除されます。

コマンドedit-abbrevsは、実際にはlist-abbrevsと同じですが、list-abbrevsが単に*Abbrevs*を他のウィンドウに表示するのに比べ、このコマンドはそのバッファーを選択する点が異なります。