subtech – ピンク ブロッサム ダイアリー – surround.vimで、やばい。久々に大ヒットな vim plugin だ。
と紹介されていたので「マジでマジで!?」と思って調べてみたら使えそうだったのでインスコした。
surround.vimっていうのは何かっていうと、text-objectsで手の届かない部分を強化してくれるもの。
text-objectsっていうのは、:h text-objectsってやればわかるんだけど、文字通りテキストをオブジェクトとして扱うことができる。vim7からだっけ。まぁそんな機能がある。例えば
<h1>hogehoge</h1>
ってーのがあったときに、hogehogeのどこかにカーソルをあわせて「cit」ってやると、hogehogeを削除してinsertモードにしてくれる。citのcはdelete + insert(英語でなんていうんだ)iはinner。tはタグ。
まぁそんな感じでtext-objetcsは便利なんだけど、text-objectsではそれ自身を指すaとその内部を指すi(inner)の2種類しかオブジェクトの範囲を指定するものがない。そこに、「周辺」を表現するs(surround)を追加してくれるのがsurround.vim。
<h1>hogehoge</h1>
という文字列があったときにhogehogeの中で「dst」とやると
hogehoge
となる。ditと(ある意味)逆のことができるようになる。
csは置換。上のサンプルにあるh1タグをpタグに変えたいとき、cst<p>と入力するとできる。
まぁ後詳しいことはKinoWiki – vim/plugin/surroundにまとめたので見るといいよ。
Related posts:
ピンバック: ナレッジエース
ピンバック: SanRin舎 » vi/Vim