vimrc-如何阻止评论?


14

我不想注释文本文件或代码中的文本行。我正在寻找在.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
我怀疑vim-config文件中不存在多行注释功能。
Dilawar 2013年

Answers:


5

我认为这是不可能的。最好的办法是块选择一些文本,然后s/^/"/在vim中的第一个字符上进行搜索/替换,"以在每行的开头插入a 。

vim插件NERD Commenter可能也有助于简化此过程。


1
我使用变通方法:,+ 3秒/ ^ /“/在点代表当前行和3表示的连续的(点线)之后线量。
DAGO

6

我的解决方案是将代码包装在中function

这在vimrc中效果很好,例如,用于就地Heredoc语法高亮测试,该测试也需要真实的块注释而没有前导字符。在我的vimrc中,在设置heredoc SyntaxRanges之后,我直接使用了这样的块。

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技巧,该技巧对我不起作用。只要确保永远不要调用此函数!


1

一招:

  • 将光标放在第一行的第一个字符上以进行注释
  • 按Ctrl-V进入可视块模式
  • 向下移动光标直到要评论的最后一行
  • 按I(shift + i)进入条件插入模式
  • 按“”评论(引号和空格)
  • 按Esc退出插入模式

现在,所有选择的行都以在插入模式下键入的字符串开头。


谢谢,但是我一直在寻找vimrc中的块注释样式到底是什么。
mtk

我认为vim中没有这样的功能。顺便说一下,它不是很常见。在许多脚本语言中,更常见的是在一系列行上使用单行注释。
lgeorget

1

使用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 

还有第二个键映射集,其中以_为首位(在终端上更可取)。


1

有一个改变生活的插件,tpope称为vim-commentary

https://github.com/tpope/vim-commentary

该插件提供

  • 理智
  • 适当缩进的注释
  • 不注释掉空/不必要的行

用法

  • 通过Vundle安装(或者我猜是Pathogen)。
  • 突出显示您的文字,然后按:,将显示为:<,'>
  • 在此处:<,'>Commentary输入评论,然后按Enter。
  • 宝 你完成了芽。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.