vim插件之surround.vim
Surround.vim插件简介
[Surround.vim] 1 是一款关于括号、引号和xml标签匹配的插件,可以成对的添加、修改和删除。当然也可以自定义匹配项。下面就常用的功能分别对标记的添加、修改和删除一一介绍。
添加
如现有一文本Hello,wolrd。光标处在文本中,然后输入ysiw",文本变成:
"Hello,world"
yss则将光标所在的当前行全部添加标签。如yss)则将当前行用()包围。
b, B, r和a分别是), }, ]和>的别名,t 则代表html/xml标签。
ysst,然后再输入html/xml标签,即可成对添加。如
Hello,world
输入ysst<p>后,变为:
<p>Hello,World</p>
类似的,yssb、yssB、yssr和yssa则给当前行添加相应的标记。
<Ctrl-v>ySb则给选定的文本添加()。
修改
cs为修改的命令。如:cs)}将()换为{},csbr将()换为[]。
删除
ds为删除的命令。如:dsb删除(),dsB删除{},dst则删除相应的html/xml标签。
安装
先安装上[vundle] 2或者[pathogen] 3插件,然后再通过他们安装插件比较方便。下面以vundle举例:
在[~/.vimrc] 4中添加:
Bundle ’tpope/vim-surround'
然后执行BundleInstall安装。
更多关于surround的细节,请通过:help surround查看。
其他
其实surround只是对vim中text-object motion的扩展,vim常见的text-object编辑功能有:
ci(, ci[, ci{:删除(),[],{}之间的所有字符并进入insert模式。类似的还有ci",ci'。
cit: 删除html/xml标签内所有的文本并进入insert模式。
di: 剪切配对符号间的文本,eg:di(, di{, ...
yi: 复制配对符号间的文本, eg:yi(, yi{, ...
ca, da, ya与ci, di, yi类似,只是包括比配符号本身。