gvim Systemverilog 语法匹配:有没有办法匹配`ifdef `ifndef `else 和`endif

问题描述

我使用了标准的 SystemVerilog 语法包,但无法匹配(使用 % 在它们之间移动光标)这些字符串。这是在 Vim(https://www.vim.org/scripts/script.php?script_id=39) 中 matchit 函数的上下文中。 问题似乎出在反引号上。

我试过了:

\u0060

`ifdef\>|`ifndef\>:`endif\>,

但它不起作用。

解决方法

我假设您有一个如下所示的文件:

stuff
`ifdef
    some code
`endif
stuff

将光标放在 `ifdef(或 `ifndef)上,您想用 `endif 跳到 %,然后按 {{} 返回到 `ifdef 1}} 再次。我还假设您正在使用 matchit 插件。

解决方案:

%

注意 :let b:match_words='`ifdef\>\|`ifndef\>:`endif\>' 必须用反斜杠转义。此外,您需要引号 |。所以反引号不是问题。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...