Next: Threads, Previous: Syntax Tables, Up: Top [Contents][Index]
略語(abbreviationまたはabbrevは、より長い文字列へと展開される文字列です。ユーザーはabbrev文字列を挿入して、それを探して自動的にabbrevの展開形に置換できます。これによりタイプ量を節約できます。
カレントで効果をもつabbrevsのセットはabbrevテーブル(abbrev table)内に記録されます。バッファーはそれぞれローカルにabbrevテーブルをもちますが、通常は同一のメジャーモードにあるすべてのバッファーが1つのabbrevテーブルを共有します。グローバルabbrevテーブルも存在します。通常は両者が使用されます。
abbrevテーブルはobarrayとして表されます。obarraysについての情報はCreating Symbolsを参照してください。abbrevはそれぞれobarray内のシンボルとして表現されます。そのシンボルの名前がabbrevであり、値が展開形になります。シンボルの関数定義は展開を行うフック関数です(Defining Abbrevsを参照)。またシンボルのプロパティセルには使用回数やそのabbrevが展開された回数を含む、さまざまな追加プロパティが含まれます(Abbrev Propertiesを参照)。
システムabbrev(system
abbrevs)と呼ばれる特定のabbrevは、ユーザーではなくメジャーモードにより定義されます。システムabbrevは非nil
の:system
プロパティにより識別されます(Abbrev Propertiesを参照)。abbrevがabbrevファイルに保存される際には、システムabbrevは省略されます。Abbrev Filesを参照してください。
abbrevに使用されるシンボルは通常のobarrayにinternされないので、Lisp式の読み取り結果として現れることは決してありません。実際のところ通常はabbrevを扱うコードを除いて、それらが使用されることはありません。したがってそれらを非標準的な方法で使用しても安全なのです。
マイナーモードであるAbbrevモードが有効な場合には、バッファーローカル変数abbrev-mode
は非nil
となり、そのバッファー内でabbrevは自動的に展開されます。abbrev用のユーザーレベルのコマンドについてはAbbrev Mode in The GNU Emacs Manualを参照してください。
• Tables | abbrevテーブルの作成と操作。 | |
• Defining Abbrevs | 略語の指定とそれらの展開。 | |
• Files | ファイルへのabbrevの保存。 | |
• Expansion | 展開の制御と展開サブルーチン。 | |
• Standard Abbrev Tables | 種々メジャーモードに使用されるabbrevテーブル。 | |
• Abbrev Properties | abbrevプロパティの読み取りとセットを行う方法。どのプロパティが何の効果をもつか。 | |
• Abbrev Table Properties | abbrevテーブルプロパティの読み取りとセットを行う方法。どのプロパティが効果をもつか。 |