代码之家  ›  专栏  ›  技术社区  ›  Nick Presta

Vim是否具有基于文件语法的自动注释功能?

  •  6
  • Nick Presta  · 技术社区  · 15 年前

    我不确定这是否可能,但我对实现这一点很感兴趣。
    + 控制键 3. .

    我正在寻找一种让Vim输入注释(单行)的方法,该注释对应于我正在编辑的文件的语法。如果有多个单行注释样式,Vim可以自动选择一个,或者让我选择。如果单行注释包含两部分(例如。 /* */ ),然后按 转移 控制键 + 第一次将开始评论,第二次将关闭评论。

    • 蟒蛇: #
    • JavaScript: //
    • C、 C++: 具有 */

    我知道有些脚本会为您插入注释,但我还没有看到任何基于文件语法的脚本。

    5 回复  |  直到 12 年前
        1
  •  6
  •   Jeremy Cantrell    15 年前
        2
  •  5
  •   John Hyland    15 年前

    某种程度上!我不相信vim会在开箱即用的情况下完成这项工作,但您可以安装插件,这些插件将针对正在编辑的文件类型进行相当智能的评论(使用移动键、可视线突出显示等)。您可以从vim.org上获得这些插件,如果您不喜欢它们附带的那些插件,您应该能够在.vimrc文件中创建自己的密钥映射。

    tComment 他很受尊敬,为我工作过。

    我听说了 EnhCommentify

        3
  •  3
  •   Community kfsone    7 年前
        4
  •  2
  •   Callum    15 年前

    见: this script 它提供了在视觉模式下注释高亮显示区域的功能。

    您希望在插入模式下开始注释,以便您的函数看起来更像:

    fun CommentLines()
      exe ":s@^@".g:Comment."@g"
    endfun
    
        5
  •  -1
  •   Michael Tonkin    10 年前

    不完全是你想要的,但效率很高,我想你知道该使用哪种注释。 (所有这些都处于命令模式) 将光标放在要注释的第一行。然后我们将通过键入来设置一个名为a的标记(有效名称为a-z,单个字符)

    ma
    

    mb
    

    然后注释整个块(通过搜索换行并插入注释字符(注意使用“#”作为搜索分隔符,否则我们必须转义“/”)

    :'a,'bs#^#//#
    

    :'a,'bs/^/#/
    

    取消注释:

    :'a,'bs#^//##