我喜欢/* ... */
(C ansi评论),所以这是我的招数。当然,您可以使其适应不同情况的使用。
用/ * ... * /注释
选择文本(转到开头,开始可视块,使用跳转}
):
<c-V>}
键入要在选择中应用的命令
:norm i/* <c-v><esc>$a */
命令将如下所示: :'<,'>norm i /* ^[$a */
有关详细信息,请参见(i *)。
取消注释/ * ... * /
选择文本(与以前一样,或按其他方式选择):
<c-V>}
键入要在选择中应用的命令
:norm :s-\s*/\*\s*-<c-v><enter>$bbld$
命令将如下所示: :'<,'>norm :s-\s*/\*\s*-^M$bbld$
有关详细信息,请参见(ii *)。
结果
效果是逐行注释:
Comment block
Comment block
Comment block
成为(反之亦然):
/* Comment block */
/* Comment block */
/* Comment block */
最好将其另存为您的map
或,因为要输入的内容很多。如果您更喜欢单个块而不是整个块,请使用:@reg
.vimrc
/*
*/
用一个/ * * /整个块注释
将其保存在寄存器中,方法是使用,qc
然后在段落的开头进行注释:
v}di/* */<esc>hhhp
别忘q
了完成记录。
有关详细信息,请参见(iii *)。
取消注释单个/ * * /
将其保存在寄存器中,例如@u
。将光标放在块内的任何位置,然后:
?/\*<enter>xx/\*/<enter>xx
通过完成q
命令保存寄存器。
有关详细信息,请参见(iv *)。
结果
效果是多行的单个注释:
Comment block
Comment block
Comment block
成为(反之亦然):
/* Comment block
Comment block
Comment block */
说明
(i *)通过使用norm
在每个选定的行中重复应用相同的命令来工作。该命令只需插入a /*
,找到该行的末尾并通过插入a结束*/
:norm i/* <c-v><esc>$a */
(ii *)它还用于norm
在每一行上重复搜索/替换。搜索spaces /* spaces
并替换为空。之后,找到该行的末尾,退回两个单词,对一个字母,删除到末尾。
:norm :s-\s*/\*\s*-<c-v><enter>$bbld$
(iii *)通过选择段落v}
,将其删除,在打开和关闭处插入注释,移至其中间并粘贴已删除的块。
v}di/* */<esc>hhhp
(iv *)在中间的任何地方,向后查找a /*
,将其删除;找到一个*/
,将其删除。
?/\*<enter>xx/\*/<enter>xx