VIM 高亮匹配开始/结束

标签 vim syntax syntax-highlighting verilog vim-syntax-highlighting

我正在尝试找到一个插件,该插件将使用 Verilog 突出显示匹配的开始/结束语句。 VIM 让它与花括号/括号一起工作,但它不能与它的开始/结束一起工作。我希望 VIM 突出显示正确的开始到正确的结束。

最佳答案

在我看来,你最好的选择是使用 matchit。此脚本是 vim 运行时的一部分,可以通过将以下行添加到 .vimrc 中轻松加载:

runtime macros/matchit.vim

标准的 Verilog 文件类型插件已经包含您需要的 matchit 配置:
" Let the matchit plugin know what items can be matched.
if exists("loaded_matchit")
  let b:match_ignorecase=0
  let b:match_words=
    \ '\<begin\>:\<end\>,' .
    \ '\<case\>\|\<casex\>\|\<casez\>:\<endcase\>,' .
    \ '\<module\>:\<endmodule\>,' .
    \ '\<if\>:\<else\>,' .
    \ '\<function\>:\<endfunction\>,' .
    \ '`ifdef\>:`else\>:`endif\>,' .
    \ '\<task\>:\<endtask\>,' .
    \ '\<specify\>:\<endspecify\>'
endif

这样你就可以使用 % 匹配开始/结束键,正如您可能已经为括号等所做的那样。

这并不完全是您要查找的内容,因为尽管它允许您找到开头的匹配结尾,但它并没有为您突出显示它。我做了一些研究,显然有一个 code snippet around for that ;并且有人已经将该代码转换为插件,名为 hl_matchit .不要忘记检查这个插件的帮助页面:
:help hl_matchit.txt

请注意,vim 安装中包含的 Verilog 文件类型插件不支持 ifndefelsif Verilog 2001 中引入的子句。如果你需要这个,那么我建议你也安装之前已经提到的 verilog_systemverilog.vim 插件,但使用 fork我正在改进,其中包括上述更新以及其他修复/改进。

关于VIM 高亮匹配开始/结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27498221/

相关文章:

python - theano 出现奇怪的语法错误

Python pygments 词法分析器状态保存

python - 动态缩进和突出显示 tkinter 文本框中的单词

vim - 如何关闭所有选项卡和窗口但保持 vim 打开

vim - 如何在 Vim 中进行类似于 "grep -w"的全字搜索

java - Lucene:我是否正确解析了字符串?术语或短语?

mysql super 奇怪的语法错误?

syntax-highlighting - DokuWiki 中的内联代码

vim - 如何在 vim 中用适当的 ascii 代码替换文件中的字符

vim - 通过过滤器运行选定的文本并重新插入