嗨〜我是新来的,我遇到了vim的问题。
我有makefile,并且使用' - 定义了函数,例如“stub-addon-jar”。
然后我使用了ctags生成标签文件,它实际上得到了这些函数的定义。
之后我用vim打开一个makefile,设置标签变量,用正常变量测试“ctrl +]”并且它正常工作。
然后我把光标放在功能“stub-addon-jar”被调用的地方,并且“ctrl +]”。但是vim显示“标签未找到:插件”。
似乎vim没有得到整个“stub-addon-jar”,只是“addon”作为标记的输入。
我该如何解决这个问题?是因为vim用于拆分单词的方法吗?
答案 0 :(得分:1)
您可以使用正则表达式搜索而不是默认的全字搜索:
:tag /addon<CR>
nnoremap <C-]> :tag /<c-r>=expand('<cword>')<CR><CR>
答案 1 :(得分:0)
这很难。我尝试了几件事,但是当我命名这样的函数时它对我也是一样的。我能得到的最接近的是将光标放在函数上,然后按gd
(搜索本地定义)或gD
在当前文件外搜索。
注意,gd和gD(转到定义)是内置的vim命令。
我最喜欢的一个插件是taglist.vim。它没有通过点击呼叫点来定义。它将显示文件中所有函数的列表,并允许您通过单击它们传输到任何函数。它对这些名字没有任何问题。
答案 2 :(得分:0)
正如他在评论中提到的FDinoff,正确的解决方案是更改vim对单词的定义以包含-
字符。
set iskeyword+=-
设置完成后,标签跳转应该正常工作。
这是另一个related question讨论在单词定义中添加和删除字符。