我不想注释文本文件或代码中的文本行。我正在寻找在中插入块注释.vimrc文件。使用插入单行注释"
,例如:
" remove spaces and tabs as well at the end of line automatically while saving
autocmd BufWritePre * :%s/\s\+$//e
现在,我在浏览互联网后收集了多年来收集的相对大量的设置/配置/插件,以添加很酷的功能。我希望向我的 .vimrc 文件添加一些大的注释块。添加"
到每一行是一个选项,但我正在寻找块注释语法。与/**/
C中类似。
//
与 相同 与"
/* */
相同_____?
搜索 Unix.SE、SO 和谷歌搜索并没有多大帮助。
答案1
我的解决方案是将代码包装在function
.
这在 vimrc 中效果很好,例如,对于就地特雷多克语法突出显示测试,这也需要没有前导字符的真实块注释。在我的 vimrc 中,我在设置heredoc后直接使用这样的块语法范围。
function! _blockcomment()
" free text comment
You can write free text here,
but vim will try to highlight it as vimscript!
" markdown heredoc
test <<MD
### Nevertheless ###
* for testing my fuzzy SyntaxRange heredocs
* having no leading chars is essential
* and the blockcomment function does the trick
MD
endfunction
这个解决方案类似于@Stéphane 的if 0
技巧,它对我不起作用。只要确保永远不要调用这个函数!
答案2
我认为这是不可能的。您能做的最好的事情就是块选择一些文本,然后对s/^/"/
vim 中的第一个字符进行搜索/替换,以将 a 插入"
到每行的开头。
vim 插件书呆子评论员也可能有助于使这变得更容易。
答案3
有一个改变生活的插件tpope
叫做vim-commentary
https://github.com/tpope/vim-commentary
这个插件提供了:
- 理智
- 正确缩进的评论
- 不注释空/不必要的行
用法:
- 通过 Vundle(或者我猜是 Pathogen)安装。
- 突出显示您的文本并按下
:
,它将显示为:<,'>
- 在此处输入评论
:<,'>Commentary
并按 Enter 键。 - 邦。你完成了芽。
答案4
使用tComment
Vim 插件:http://www.vim.org/scripts/script.php?script_id=1173
是的,它确实支持 Python(2011 年添加)。
描述 :TComment 的工作方式类似于切换开关,即,它将注释掉包含未注释行的文本,并且它将取消注释已注释的文本(即不包含未注释行的文本)。
如果文件类型定义正确,:TComment 将根据 &commentstring 或 &comments 的值确定要使用哪个注释字符串。对于某些文件类型,注释定义是明确定义的。您可以|tcomment#DefineType()|添加您自己的定义。
TComment 知道如何处理与主文件类型不同的文件类型的嵌入代码,例如 vim 脚本中的 ruby/python/perl 区域、php 代码中的 HTML 或 JavaScript 等。
作为操作符(可以通过 g:tcommentMapLeaderOp1 和 g:tcommentMapLeaderOp2 自定义前缀):
gc{motion} :: Toggle comments (for small comments within one line the &filetype_inline style will be used, if defined) gcc :: Toggle comment for the current line gC{motion} :: Comment region gCc :: Comment the current line
主键映射:
<c-_><c-_> :: :TComment <c-_><space> :: :TComment <QUERY COMMENT-BEGIN ?COMMENT-END> <c-_>b :: :TCommentBlock <c-_>a :: :TCommentAs <QUERY COMMENT TYPE> <c-_>n :: :TCommentAs &filetype <QUERY COUNT> <c-_>s :: :TCommentAs &filetype_<QUERY COMMENT SUBTYPE> <c-_>i :: :TCommentInline <c-_>r :: :TCommentRight <c-_>p :: Comment the current inner paragraph
还有一组辅助键映射,以 _ 作为引导符(在终端上更可取)。