牢獄機械文書群

短縮入力 :ab[breviate] に使える文字・使えない文字
2015-03-05

Vim は :ab[breviate] という ex コマンドを使うことで短縮入力ができます。

短縮入力とは、よく使う文を、短い単語で代替することです。その短い単語を入力すると、元の文が代わりに挿入されます。

たとえば :ab tkg たまごかけごはん を実行すると、「tkg」と書いたときに「たまごかけごはん」に変換されます。

変換のタイミングは「キーワード文字以外の文字」が入力されたとき。

キーワード文字とは、:set iskeyword? で確認できる文字のことです。通常は、英語のアルファベットか、数字です。それ以外の文字とは、# や % などの記号です。スペースや改行、エスケープでも変換されます。

挿入モードを抜けずに、文字を入力せずに変換したいときは、Ctrl-] を入力します。


短縮入力が可能な組み合わせは以下の3種類。

  • full-id 全部キーワード文字
  • end-id 最後だけキーワード文字(あとはキーワード以外の文字)
  • non-id 最後だけキーワード以外の文字(あとはキーワード文字)

たとえば、#tkg という単語は、短縮入力の代替には使えません。

しかし、tkg# なら使えます (non-id)。


短縮入力は HTML や CSS を書くのにも便利です。代替単語のおすすめは non-id 方式です。

たとえば :ab a# <a href=""> を実行すれば、「a#」がリンクタグに変換されるようになります。
(「a#」としているのは、「a」だけだと英語の不定冠詞もリンクタグに変換されてしまうからです。)

また、:ab はコマンドモードでも適用されるので、あくまで挿入モードでのみ適用したい場合には、代わりに :iab を使います。

:ab や :iab はキー入力も組み込めるので、:ab a# <a href=""><left><left> とすれば、リンクタグ変換後にカーソルがクオーテーション "" のあいだまで移動します。

詳しくは Vim リファレンスマニュアル(日本語)を参照。

inserted by FC2 system