Next: , Previous: Saving Abbrevs, Up: Abbrevs


22.6 動的略語展開

これまでに述べてきた略語の機能は、テキストを挿入するときに自動的に働きますが、 すべての略語を陽に登録しておく必要があります。 一方、動的略語(dynamic abbrevs)は、 バッファの内容に基づいて略語の展開形を自動的に決定することができます。 ただし、陽に指示したときだけ、動的略語展開を行います。

M-/
バッファのポイントの直前の単語を動的略語(dynamic abbrev)として、 その略語で始まる単語をバッファ内から探索し展開する (dabbrev-expand)。
C-M-/
ポイントの直前の単語を動的略語として補完する (dabbrev-completion)。

たとえば、バッファ内に‘does this follow ’があるときに f o M-/と打鍵すると、バッファ内で‘fo’で始まる近くにある単語が ‘follow’なので‘follow’が挿入されます。 M-/に数引数を指定すると、ポイントから先頭に向かって探して、2番目のもの、 3番目のものというように異なる展開形に展開できます。 M-/を繰り返すことにより、 次々にさらに先頭へ向かって探して別の候補に展開します。 ポイントよりまえのすべてのテキストを探し終えた場合には、 ポイントよりうしろのテキストを探します。 変数dabbrev-limitnil以外 1 ならば、バッファ内のどの範囲まで展開候補を探すかを指定します。

カレントバッファを探し終ると、 変数dabbrev-check-all-buffersnilに設定していない限り、 M-/は他のバッファも探します。

C-u - M-/のようにM-/に負の数引数を指定すると、 まずポイントのうしろから展開候補を探し、 つぎにポイントのまえから展開候補を探します。 M-/を繰り返して別の展開候補を探す場合には、引数を指定しません。 これにより、ポイントよりうしろのすべての展開候補を試してから、 つぎにポイントよりまえのすべての展開候補を試せます。

動的略語を展開したあとでは、展開形のもともとの場所でつぎに続く単語(群)を コピーすることができます。 コピーしたい単語ごとに単に<SPC> M-/と打鍵します。 単語のあいだの空白や句読点も単語とともにコピーされます。

コマンドC-M-/dabbrev-completion)は、 動的略語の補完を行います。 展開候補を1つずつ試すかわりに、すべての候補を全部探して それらに共通するテキストを挿入します。 それらに共通部分がなければ、C-M-/は候補一覧を表示するので 普通の方法でその中から1つ選びます。 See Completion

動的略語展開は略語(abbrev)モードと完全に独立しています。 M-/による単語の展開は、 略語(abbrev)モードで定義済みかどうかとは完全に独立しています。


Footnotes

[1] 【訳注】文字数を指定する。