vim plugin (プラグイン) surround.vim の使い方メモ

vim plugin (プラグイン) surround.vim の使い方メモ

vim plugin (プラグイン) surround.vim は、パーレン、ブラケット、クオート、xmlタグ、htmlタグなどの囲み文字に関する処理を簡単に行えるようにする。

インストールは ~/.vim ディレクトリでアーカイブを展開して、次のコマンドでヘルプタグを再生成する。

:helptags ~/.vim/doc

ds 削除(Delete Surroundings)

ds"
テキストオブジェクトを囲む " を削除する。

"Hello World!"
↓
Hello World!

ds(
ds)
ds[
ds]
ds{
ds}
テキストオブジェクトを囲む ( ) [ ] { } を削除する。

(var i=0; i<length; i++) {
↓
var i=0; i<length; i++ {

dst
テキストオブジェクトを囲むタグを削除する。

<h1>Hello World!</h1>
↓
Hello World!

cs 置換(Change Surroundings)

cs"'
テキストオブジェクトを囲む "' に置換する。

"Hello World!"
↓
'Hello World!'

cs"<q>
テキストオブジェクトを囲む "<q> タグで囲むように置換する。後方の " は閉じタグ </q> に置換される。

"Hello World!"
↓
<q>Hello World!</q>

cs)]
テキストオブジェクトを囲む ( )[ ] に置換する。

(Hello World)
↓
[Hello World]

cs([
テキストオブジェクトを囲む ( )[ ] に置換する。新たに囲む [ ] の間にスペースが加えられる。

(Hello World)
↓
[ Hello World ]

cst<p>
テキストオブジェクトを囲むタグを <p> タグで囲むように置換する。

<div>Hello World!</div>
↓
<p>Hello World!</p>

ys

テキストオブジェクトに対して cs の効果を与える。

ysiw)
iw (inner word) で選択したテキストオブジェクトを ( ) で囲む。

"Hello World!"
↓
"Hello (World)!"

yss
カレント行に対して cs の効果を与える。

yssB
カレント行を { } で囲む。

"Hello World!"
↓
{"Hello World!"}

ysst
カレント行をタグで囲む。

ysst<p>
カレント行を <p> タグで囲む。

Hello World!
↓
<p>Hello World!</p>

ySSt
カレント行をタグで囲む(インデントする)

ySSt<p>
カレント行を <p> タグで囲む(インデントする)

Hello World!
↓
<p>
    Hello World!
</p>

vs

ビジュアルモード選択範囲に対して cs の効果を与える。

vllls"
ビジュアルモード選択範囲を " で囲む。

Hello World!
↓
Hello "Worl"d!
«
»