Vim:替换可视字符、行或块的开头和结尾

3
我正在尝试寻找一种快捷方式,以在我的代码中放置自定义注释序列,例如:
/*
start of comment
blah
end of comment
/**/

(只需在开头添加/就能更轻松地避免注释)

我想通过在选择一个可视行、块或字符,并在块的开头添加 '/' 字符和在结尾添加 '/*/',再加上换行来在Vim中完成这个操作。

选择了一些行后(Shift-V),我尝试了以下方法:

'<,'>s/\(.*\)/\/*\r\1\r\/**\//

但它会在每个换行符处添加注释字符。

我该如何仅在所选范围的开头和结尾应用替换?

谢谢, gm

2个回答

1
请考虑使用以下替换命令。
:'<s~^~/*\r~|'>s~$~\r/**/~

谢谢!那个可行。 我不知道这个波浪符号,我会多了解一下。 - gattu marrudu
@gattu:主要思路是使用两个连续的替换命令。关于这里的~,可以使用几乎任何单字节字符来包围模式,而不是默认的/(参见:help E146)。 - ib.

0

试试这个 :'<,'>s-\(\_.*\)-/*\r\1\r/**/-

更新:我认为这不是实现您想要的结果的最佳方法。我建议您阅读一些关于'<和'>标记的信息。使用此标记,可以更有效地实现注释。此外,有很多现成的解决方案可供选择。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接