すべての略語定義の一覧を表示します。数値引数を指定すると、ローカルの略語のみを一覧表示します。
略語リストを編集できます。定義の追加、変更、削除が可能です。
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"
(意味上の重要性のない空行や、その他の略語表の一部は省略しています。)
括弧で囲まれた名称を含む行は、特定の略語テーブルにおける略語のヘッダーとなります。global-abbrev-table
にはすべてのグローバル略語が含まれ、主要モードの名を冠したその他の略語テーブルには、モード固有の略語が含まれています。
各略語テーブルにおいて、空白以外の各行が1つの略語を定義しています。行の先頭にある単語がその略語です。それに続く数値は、その略語が展開された回数です。Emacsはこの情報を記録することで、実際にどの略語を使用しているかを確認できるようにし、あまり使わないものを削除できるようにしています。行の末尾にある文字列が展開後の形式です。
一部の略語には ‘(sys)’ が付されています。これらのシステム略語(The Emacs Lisp Reference
ManualのAbbrevsを参照)は、各種モードによってあらかじめ定義されており、略語ファイルには保存されません。システム略語を無効にするには、同名で自身に展開される略語を定義し、それを略語ファイルに保存してください。システム略語には対応するフック関数が用意されており、略語展開の実行時に呼び出されます。その関数名は、list-abbrevsで示されるバッファ内の略語展開の後に続きます。
M-x edit-abbrevs を使用すると、Emacsバッファ内で略語リストを編集することで、略語の定義を追加、変更、または削除できます。このリストの形式は、前述のものと同じです。略語のバッファは *Abbrevs* と呼ばれ、Edit-Abbrevs モードになります。このバッファに C-c C-c と入力すると、バッファに指定された通りに略語定義がインストールされ、リストにない略語定義は削除されます。
コマンド edit-abbrevs は、バッファ *Abbrevs* を選択する点を除けば、実際には list-abbrevs と同じです。一方、list-abbrevs は単にそれを別のウィンドウに表示するだけです。