我的项目在/ srv / http / dev文件夹中.我为一个项目生成了ctags文件:
原文链接:https://www.f2er.com/bash/386535.html$ctags -R --languages=PHP .
现在我设置ctags路径:
:set tags=/srv/http/dev/proj/tags
它工作正常
但是我在dev /文件夹里有很多项目.如何在.vimrc文件中设置ctags? set tags =标签无法正常工作.
我想通过在所选的NERDTree文件夹上按热键生成标签文件.我试过了:
nmap <silent> <F4> \ :!ctags -R \ --languages=PHP .<CR>
但是它会在主文件夹中创建标签文件,并显示有关扫描主文件夹的警告.
编辑:
由于@Alexandru Plugaru建议我应该使用g:NERDTreeFileNode.GetSelected()函数.
我只是newbie vim用户,所以我还有一个问题.我已经添加到我的.vimrc文件中:
function createTags() let curNodePath = g:NERDTreeFileNode.GetSelected().path.str exec ':!ctags -R --languages=PHP ' . curNodePath endfunction nmap <silent> <F4> :execute createTags()<CR>
但是按F4我看到:
E117: Unknown function: createTags E15: Invalid expression: createTags
编辑2:感谢@Alexandru Plugaru我得到了:
function CreateTags() let curNodePath = g:NERDTreeFileNode.GetSelected().path.str() exec ':!ctags -R --languages=PHP -f ' . curNodePath . '/tags ' . curNodePath endfunction nmap <silent> <F4> :call CreateTags()<CR>