vimrc - 如何阻止评论?

vimrc - 如何阻止评论?

我不想注释文本文件或代码中的文本行。我正在寻找在中插入块注释.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

使用tCommentVim 插件: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 

还有一组辅助键映射,以 _ 作为引导符(在终端上更可取)。

相关内容