次: Editing Abbrevs, 前: Defining Abbrevs, 上: Abbrevs
ポイントの直前に略語があるときに白文字や区切り文字(<SPC>、コンマなど) を打鍵すると、略語はつねに展開されます。 より正確には、英単語の構成文字以外のどんな文字でも略語展開は起こり、 英単語の構成文字の任意の組み合わせを略語に使用できます。 略語の通常の使い方は、略語を入力してから区切り文字を入力して 展開を行わせるという方法です。
略語展開では大文字小文字を保存します。
したがって、
`foo'は`find outer otter'に、
`Foo'は`Find outer otter'に展開されます。
また、変数abbrev-all-caps
に応じて、`FOO'は
(変数の値がnil
以外のときは)
`FIND OUTER OTTER'、あるいは、`Find Outer Otter'に展開されます
以下は略語展開を制御するために使うコマンドです。
expand-abbrev
)。
このコマンドは略語(abbrev)モードがオンでなくても働く。
接頭辞が付いた略語を展開したい場合もあるでしょう。
略語`cnst'は`construction'に展開されるとして、
`reconstruction'と入力するためにこの略語を使いたいとします。
`recnst'と打鍵してもだめです。
というのは、`recnst'は定義済みの略語ではないからです。
ではどうすればよいかというと、
接頭辞`re'と略語`cnst'のあいだでコマンドM-'
(abbrev-prefix-mark
)を使うのです。
まず`re'と打ち込みます。
続いてM-'と打鍵します。
するとバッファにハイフン(-)が挿入され、切れ目が入ったことを示します。
それから略語`cnst'を入力します。
バッファには`re-cnst'と入っています。
ここで単語構成文字以外の文字を打ち込めば、
略語`cnst'が`construction'に展開されます。
展開時にはM-'が挿入したハイフン(-)は削除されます。
結果は、望みどおりの`reconstruction'です。
もし、略語を展開しないでそのまま残しておきたい場合には、 C-qに続けて区切り文字を入れます。 つまり、foo C-q ,とすると、バッファには`foo,'のまま残ります。
まちがって略語を展開してしまった場合には、 C-_(see Undo)と打鍵すれば、展開をアンドゥし略語に戻せます。 このとき略語展開を引き起こした区切り文字も削除されます。 略語を展開せずに区切り文字とともに入力したいならば、 区切り文字をC-qでクォートして挿入します。 区切り文字を削除せずに直前に展開したものを略語に戻すには、 コマンドM-x unexpand-abbrevを使うこともできます。
M-x expand-region-abbrevs は、リージョン全体にわたって定義済みの略語を 探し、みつかったそれぞれについてそれを展開するかを聞いてきます。 このコマンドは、略語(abbrev)モードをオンにし忘れて略語を用いた テキストを入力してしまったときに便利です。 あるいは、特別な略語定義一式を用いて 一度に全体を置き換えるときにも便利です。 このコマンドは略語(abbrev)モードがオンでなくても使えます。
略語を展開するときには、フックpre-abbrev-expand-hook
(see Hooks)が実行されます。