【问题标题】:gvim Systemverilog syntax matching :is there way to match `ifdef `ifndef `else and `endifgvim Systemverilog语法匹配:有没有办法匹配`ifdef`ifndef`else和`endif
【发布时间】:2021-05-15 12:34:36
【问题描述】:

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

我试过了:

\u0060

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

但它不起作用。

【问题讨论】:

  • 我编辑了您的帖子,希望能正确显示您的代码。如果不正确,请根据需要进行修复。
  • “匹配”可能意味着很多事情,具体取决于上下文。你到底想做什么?
  • 这是vim.org/scripts/script.php?script_id=1586Systemverilog高亮包中的错误

标签: vim system-verilog vim-syntax-highlighting


【解决方案1】:

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

stuff
`ifdef
    some code
`endif
stuff

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

解决方案:

:let b:match_words='`ifdef\>\|`ifndef\>:`endif\>'

请注意,| 必须使用反斜杠进行转义。此外,您需要引号'。所以反引号不是问题。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2013-12-25
  • 2022-07-02
  • 2020-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-31
  • 1970-01-01
相关资源
最近更新 更多