我一直用vim 4周,我想知道如何做到这一点:重复命令块
我想评论在Ruby代码中添加“#”。我可以做'。'为所有线路。但是如果我有很多评论的话呢?
是否有一些命令我可以在块上做到这一点?
不是:这并不意味着只能放一个'#'。你可以用交互式选择做一个块
:%s/^\(.*)/#\1
:
我一直用vim 4周,我想知道如何做到这一点:重复命令块
我想评论在Ruby代码中添加“#”。我可以做'。'为所有线路。但是如果我有很多评论的话呢?
是否有一些命令我可以在块上做到这一点?
不是:这并不意味着只能放一个'#'。你可以用交互式选择做一个块
:%s/^\(.*)/#\1
:
你可以做可视块模式。 ctrl + v在行的开头,然后将光标向下移动多少行,如你想注释掉的,点击shift + i然后#然后转义,它会把#放在所有这些行的前面。我个人使用tComment。有很多插件可用于评论处理。
对于所有的线,你可以做到这一点
:%s/^\(.*)/#\1/c
Vim会提示在每场比赛来代替(回答是或否)
我想有一种方法可以用行号,也可以是一组行,但我现在没有想法。
编辑:那么块(如评论建议吧)这样做:
vip (in normal mode to select the block)
:'<,'>s/^\(.*\)/#\1/
也
:'<,'>s/^/#/
你需要列块的选择。
开始选择CTRL-V,按4j,然后我(首都i)。
不起作用 – 2011-03-14 18:14:27
@Thorpe Obazee:它与您接受的解决方案有什么不同? – Benoit 2011-03-14 19:36:56
对不起。但你的答案是不完整的。当我输入'#'时,你错过了。 – 2011-03-15 12:07:58
答案已被接受,但您可能会觉得这很有用。 <leader>/
评论一个区块,<leader>?
取消评论。以视觉模式或正常运动工作,如3,/
来评论3行,假设逗号为您的枫树。
map <leader>/ :s/^\(\s*\)/# \1/<CR>:nohl<CR>"
map <leader>? :s/^\(\s*\)# /\1/<CR>:nohl<CR>"
+1,它为使用Vim内置的功能提供了一个简单的解决方案。 Visual Block模式非常强大。 – alesplin 2011-03-14 18:37:49