【问题标题】:problem in jumping to system verilog macros `define in VIM using ctags跳转到系统verilog宏的问题`使用ctags在VIM中定义
【发布时间】:2019-11-14 09:53:24
【问题描述】:

我检查了以下内容,标签文件路径设置正确。

我正在寻找的宏标签存在于标签文件中。任务/功能/参数等工作没有打嗝。我只有正则表达式有问题。

ctags 文件中的表达式是

1. --regex-SystemVerilog=/^\s*`define\b\s*(\w+)/`\1/d,define/ 
2. --regex-systemverilog=/^[ \t]*`define[ \t]*([a-zA-Z_0-9]+)/`\1/d,define/

这两个选项都不起作用。

【问题讨论】:

  • 如果ctags正确找到宏并将其放入标签文件中(如您所说),为什么还要发布~/.ctags定义的内容来查找标签;你不应该发布标签文件本身吗?
  • 你确实在写。我是标签新手,我的理解有限。让我这样说吧,当尝试在开头跳转为 :tag altuvm_test_arg (works) when i try through ctrl+] it won't work. i guess the problem in the (tick) 时。

标签: vim macros verilog system-verilog ctags


【解决方案1】:

:tag `altuvm_test_arg 有效,但对应的CTRL-] 键无效时,这通常是由不兼容的'iskeyword' 定义引起的,因此实际上传递给:tag 的是altuvm_test_arg(没有前导反引号) .

您可以使用* 命令检查关键字匹配的范围(在此类标记上),该命令会突出显示光标下的相同关键字。如果反引号被排除,请尝试将反引号添加到关键字字符范围:

:setlocal iskeyword+=`

如果这有帮助(并且不会破坏诸如语法高亮之类的事情,或者不会因为 we 等命令的更改导航而烦扰您),您可以将该设置永久用于 verilog filetypes em> 把它放在~/.vim/after/ftplugin/verilog.vim.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多