首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在vim中注释掉XML

在vim中注释掉XML
EN

Stack Overflow用户
提问于 2009-06-01 08:31:01
回答 6查看 9.1K关注 0票数 20

我经常发现自己在配置文件中删除和添加XML部分:

server.xml

  • maven's

  • tomcat的server.xml

  • maven‘s

还有很多其他的。

有没有一个vim插件/命令可以让这一切变得简单?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-06-01 09:01:45

您可以组合使用匹配的XML标记,这可以在this question和Perl的搜索和替换中看到。

例如,给定以下代码片段:

代码语言:javascript
复制
<TypeDef name="a">
  <ArrayType high="14" low="0">
    <UndefType type="node">
    </UndefType>
  </ArrayType>
</TypeDef>

将光标放在开始或结束的TypeDef上,然后键入以下序列:

代码语言:javascript
复制
vat:s/^\(.*\)$/<!--\1-->/

v -让你进入可视化模式

at -选择整个XML标记

XML -使用'<!--...-->'将每行括起来,:s/^\(.*\)$/<!--\1-->/是XML的注释分隔符

或者,您可以像这样删除它:

代码语言:javascript
复制
dat

d -根据以下移动进行删除

at -和以前一样

票数 18
EN

Stack Overflow用户

发布于 2009-06-01 11:04:33

使用surround.vim进行一般的标签匹配、删除、插入、环绕等操作。

对于注释标记,使用vim文本对象和一个简单的宏是很容易的

示例:

输入

代码语言:javascript
复制
vmap ,c <esc>a--><esc>'<i<!--<esc>'>$

在合适的地方,然后将光标放在以下第二行的"ArrayType“的大写"A”上(借用自Nathan Fellman上面的例子)

代码语言:javascript
复制
<TypeDef name="a">
  <ArrayType high="14" low="0">
    <UndefType type="node">
    </UndefType>
  </ArrayType>
</TypeDef>

然后点击

代码语言:javascript
复制
vat,c

你将会得到:

代码语言:javascript
复制
<TypeDef name="a">
  <!--<ArrayType high="14" low="0">
    <UndefType type="node">
    </UndefType>
  </ArrayType>-->
</TypeDef>

将光标放在注释的末尾

票数 6
EN

Stack Overflow用户

发布于 2015-09-04 15:12:42

我喜欢https://github.com/tpope/vim-commentary的简单性。很容易添加其他语言,尽管似乎支持大多数开箱即用的语言。不到100行代码。

gcc为当前行添加注释,或选择要添加注释的文字,然后按gc。超级简单。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/933975

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档