vim-surroundの使い方

Vimにvim-surround.vimを導入してみたので使い方をメモ。

vim-surroundの使い方

vim-surroundの導入はneobundleを使用して行った。

選択中のテキストを括弧 / 引用符 / HTMLタグで囲う
元のテキストコマンド結果
This is a selected text.S'This is ‘a selected text’.
This is a selected text.S"This is “a selected text”.
This is a selected text.S[This is [ a selected text ].
This is a selected text.S(This is ( a selected text ).
This is a selected text.S{This is { a selected text }.
This is a selected text.S<b>This is <b>a selected text </b>.
 
「テキストを囲うもの」だけを削除もしくは変更する
元のテキストコマンド結果
This is ‘a surrounded text’.ds'This is a surrounded text.
This is (a surrounded text).ds(This is a surrounded text.
This is <b>a surrounded text</b>.dstThis is a surrounded text.
This is ‘a surrounded text’.cs'"This is “a surrounded text”.
This is ‘a surrounded text’.cs'(This is ( a surrounded text ).
This is ‘a surrounded text’.cs'<b>This is <b>a surrounded text</b>.
 
「囲われるテキスト」の選択と「テキストを囲う」操作を同時に行う
元のテキストコマンド結果
This is ‘a surrounded text’.ysaw(This is ‘a ( surrounded ) text’.
This is ‘a surrounded text’.ysi'(This is ‘( a surrounded text )’.
This is ‘a surrounded text’.ysa'(This is( ‘a surrounded text’ ).
 

テキストの選択方法によってvim-surroudの挙動が変化する

テキストの選択方法にはビジュアルモード、ビジュアルラインモード、ビジュアルブロックモードの3つの方法があるが、モードによってその後のvim-surroudが取る挙動が変化する。

ビジュアルモード

ビジュアルモードでのテキスト選択後にS”とした場合、選択したテキストを囲むように”が挿入される。

ビジュアルラインモード

ビジュアルラインモードでのテキスト選択後にS”とした場合、選択したテキストを囲むように”が挿入され、”と選択テキストの間に改行と半角スペースが挿入される。

ビジュアルブロックモード

ビジュアルブロックモードでのテキスト選択後にS”とした場合、各行の選択したテキストを囲むように”が複数セット挿入される。

参考
Vim のプラグイン紹介 〜 surround.vim でカッコつける 〜