首页 > 解决方案 > Vim 不能用多个引号正确注释

问题描述

我在 <vim.vim> 文件的 vim 语言语法中发现了一个错误。如果评论中有多个引号,则不会被视为普通评论。例如:

带有注释的 vim 脚本示例

第 1 行和第 3 行不会像我预期的那样被评论。

我怎样才能修复这个错误?我尝试了解 vimComment 设置中的语法设置并进行一些修改,但失败了。


添加有关我的问题的更多详细信息:

我写了一个vim脚本如下:

  let a = b    " b range:0~255

注意:语句开头有一些空格。

我想评论这个声明,所以在声明的开头加上引号。

  " let a = b    " b range:0~255

我发现该语句不会vimComment像我预期的那样被识别,它将被视为vimString(当光标在 let 下时)和vimIsCommand(当光标在范围下时)。

在这里,我使用以下方法检查光标下的语法名称和定义。

nnoremap <f8> :echo synIDattr(synID(line('.'), col('.'), 0), 'name')<cr>

我认为这是vim.vim版本为“8.0-28”的文件中的错误。

标签: vim

解决方案


对于收到的反馈,在其他人的VIM环境中没有发现相同的问题,我不得不检查我的设置并做了一些试验。最后我发现这个问题是由Plugin 'thaerkh/vim-indentguides'. 如果我没有使用这个插件,评论状态正如我预期的那样是正确的。我猜这个插件在使用 VIM 隐藏功能时有一些错误。所以我改用了Plugin 'Yggdroot/indentLine',解决了这个问题。谢谢@所有人。


推荐阅读