我经常发现自己在配置文件中删除和添加XML部分:
和许多其他人.
是否有一个vim插件/命令来使这个简单?
Nat*_*man 16
您可以使用匹配的XML标记的组合,这可以在此问题和Perl的搜索和替换中看到.
例如,给定此片段:
<TypeDef name="a">
<ArrayType high="14" low="0">
<UndefType type="node">
</UndefType>
</ArrayType>
</TypeDef>
Run Code Online (Sandbox Code Playgroud)
将光标放在打开或关闭上,TypeDef然后键入以下序列:
vat:s/^\(.*\)$/<!--\1-->/
Run Code Online (Sandbox Code Playgroud)
v- 使您进入可视模式
at- 选择整个XML标记
:s/^\(.*\)$/<!--\1-->/- 围绕每行'<!--...-->',XML的注释分隔符
或者,您可以像这样删除它:
dat
Run Code Online (Sandbox Code Playgroud)
d- 按照以下动作删除
at- 和以前一样
Vim本身没有对所有文件类型进行智能注释.您应该获得满足评论需求的脚本.
我使用enhcomentify脚本已经存在很长时间了
http://www.vim.org/scripts/script.php?script_id=23
它似乎很好地做了xml,你可以获得与你正在使用的任何文件类型相同的键绑定的优势.
还有其他人......尤其是NERD评论者
使用surround.vim进行常规标记匹配,删除,插入,周围等,
对于注释标签,很容易使用vim文本对象和简单的宏
例:
输入
vmap ,c <esc>a--><esc>'<i<!--<esc>'>$
Run Code Online (Sandbox Code Playgroud)
在某个合适的地方,然后将光标放在下面第二行的"ArrayType"的大写"A"上(借用上面的Nathan Fellmans示例)
<TypeDef name="a">
<ArrayType high="14" low="0">
<UndefType type="node">
</UndefType>
</ArrayType>
</TypeDef>
Run Code Online (Sandbox Code Playgroud)
然后命中
vat,c
Run Code Online (Sandbox Code Playgroud)
你会得到:
<TypeDef name="a">
<!--<ArrayType high="14" low="0">
<UndefType type="node">
</UndefType>
</ArrayType>-->
</TypeDef>
Run Code Online (Sandbox Code Playgroud)
将光标放在评论的末尾
我喜欢https://github.com/tpope/vim-commentary的简单性.容易添加其他语言,虽然似乎支持大多数开箱即用.不到100行代码.
gcc评论当前行,或选择要评论和点击的文本gc.超级容易.