jump to navigation

Vimで「」(括弧)の楽な入力

2009-11-26 22:13 Posted by
nase
in : ソフトウェア
chalkboard.jpg

私は「」の括弧で文字列を囲う必要があるときは、先に「」だけ確定してから中の文字を入力します。

これがキー入力に「,」,<Enter>,<Left>の4ステップが必要であるうえ、「,」と矢印キーは少々押しにくい位置にあり結構面倒です。

なにかよい方法はないかと考え、最終的にsnipmate.vimを使う方法に落ち着きました。

snipmate.vimで「」の楽な入力

snipmate.vimはTextMateライクなTabキーによるスニペット機能を実現するvimプラグインです。プログラミングやHTMLのコーディング時に役立つものですが、ここでは括弧の入力のために使います。

「vimfiles/snippets/_.snippets」に全ファイルタイプ共通のスニペット設定を記述できるので、以下のように書いておきます。

snippet 「
    「${1}」${2}

これでインサートモード中「を入力して<Tab>すると「」まで入力されて${1}の部分にカーソルが来ます。その後括弧内の文字を入力して再び<Tab>すれば${2}にカーソルが出ます。

さらに.vimrcで以下のようなキーマップを追加しておけば、押しにくい「キーに指を伸ばす必要もなくなります。

imap <C-k> 「<TAB>

surround.vimで「」囲い

ちなみに、ビジュアルモードではsurround.vimの設定で「」の囲い込みができるようになります。

.vimrcに以下を追加します。

"ビジュアルモード時kで「」の囲い込み
let g:surround_107 = "「\r」" " 107 = k

vで選択後、skで選択文字列が「」で囲われます。残念ながらテキストオブジェクトとしては認識してくれないので、囲い込みの変更や削除などはできません。

追記@2009-11-29

surround.vimの追加設定を変更や削除に対応させた改造版が次のページで紹介されています。

Comments»

no comments yet


*Comments and trackbacks will appear after it is approved by the administrator.