vimの短縮入力(Abbreviations)について

タグ: vim / 公開: 2013-08-27

vimには、予め設定した文字列を入力をした場合に、それを別の文字列に置換する短縮入力(Abbreviations)機能がある。 短縮入力はコードスニペットの挿入や、スペルミスの自動修正に活用できる。

マニュアルから引用すると、短縮入力の例えば以下のような具合。 それぞれmsと入力したらMicrosoftに、tihsというスペルミスをしたらthisに展開する。

ab ms Microsoft
	ab tihs this

なおキーワード自体を入力したい場合など、短縮入力を適用したくない時は、キーワードの入力後にCtrl + vを押すと置換されなくなる。

基本的な設定のコマンドは以下の3種類。 なお、これらのコマンドに引数を与えないと、設定された短縮入力の一覧が表示される。

コマンド意味
abコマンドラインモードと挿入モードの短縮入力の設定
caコマンドラインモードの短縮入力の設定
ia挿入モードの短縮入力の設定

設定ではをつけると、バッファローカルな短縮入力を設定できる。 ファイルタイププラグインで、特定の種類のファイルを編集しているバッファのみ、短縮入力を有効にする用途が想定されているようだ。

:ab <buffer> #i #include

逆に設定を削除するコマンドは以下の3種類。

コマンド意味
unaコマンドラインモードと挿入モードの短縮入力の削除
uncaコマンドラインモードの短縮入力の削除
unia挿入モードの短縮入力の削除

すべての設定を削除するコマンドもある。

コマンド意味
abcすべてのコマンドラインモードと挿入モードの短縮入力の削除
cabcすべてのコマンドラインモードの短縮入力の削除
iabcすべての挿入モードの短縮入力の削除

置換する文字列は改行を含めることもできる。 これで署名や複数行のコードスニペットも短縮入力できる。

:ab foo four<CR>old<CR>otters

これでfooと入力すると、以下に展開される。

four
old
otters

スペース以外にも、特殊文字を入力する短縮入力を設定することも可能だ。

短縮入力は意外に複雑なので、詳しくはマニュアルを参照。(和訳)

この記事をSNSでシェアする
タイトルとURLをコピーする
または投稿画面を開く
Author
Icon
ぺけみさお / xmisao
プログラマ。
Subscription
Recent articles
Related to vim