我经常在Vim中同时评论多行,这种情况经常发生。我所知道的方法并不像TextMate那样快速地评论行。
你最喜欢的方式是什么?
我目前使用:
#
):
,它会为您提供:'<,'>
提示,您可以将其扩展为:'<,'>s/^/#/
mm
:'m,.s/^/#/
我最喜欢方法1,但我仍然希望有更好的方法。
答案 0 :(得分:9)
我认为您描述了最流行的评论代码的方法,但如果您愿意使用Vim Scripts,请查看以下内容:
答案 1 :(得分:3)
我使用正则表达式部分的键盘映射,但我首先进行相同的视觉选择。通常使用:
vip
获取视觉块(段落视觉选择)
然后使用
\cc
\co
用于评论添加/删除(cc,因肌肉记忆原因而选择)
使用.vimrc中定义的映射:
vmap <leader>cc :s/^/#/<cr>
vmap <leader>co :s/^#//<cr>
答案 2 :(得分:2)
虽然这是相当陈旧的,但我只是想添加我的解决方案,这个解决方案非常类似于所有人,但增加了不亮的功能。在我的.vimrc文件中,我有以下地图:
:vmap `c :s/^/\/*/<cr>gv:s/$/*\//<cr>:noh<cr>i
:vmap `r :s/^\/\*//<cr>gv:s/\*\/$/<cr>:noh<cr>i
注意:我使用/ *代码行* /评论样式与旧c代码兼容。 在vim中,我只是突出显示这些行,然后按`c进行注释,然后按`r删除注释。
答案 3 :(得分:1)
我通常只是将步骤保存在宏中,然后以我认为的任何方式调用宏。
答案 4 :(得分:1)
插件是可行的方法。它们是可扩展的,它们已经支持您将使用的更多文件类型,它们可以自动切换行的注释状态(换句话说:不需要消耗两个快捷方式,其中一个就足够了)。
答案 5 :(得分:1)
我正在为ANSI C单行评论寻找一组命令,并且我已经在SO处尝试了大部分答案。
它们都不适合我的需要,因为我现在必须使用旧的7.2版本的Vim,我无法轻松下载合适的插件,我想出了这些方便的映射:
:nnoremap <leader>c :exe "normal mqI/* "<esc> :exe "normal A */"<esc> :exe "normal 'q"<cr>
:nnoremap <leader>r ^xxx$xxx^
<leader>c
注释掉一行并返回该行的开头。
<leader>r
删除当前行开头和结尾的注释。