VIM在.vimrc中设置ctags

我的项目在/ srv / http / dev文件夹中.我为一个项目生成了ctags文件
$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>

它的工作原理按F4,在项目文件夹中获取标签文件.

那是因为vim的当前目录是主目录.您需要更改路径或创建nerdtree插件.请参阅nerdtree_plugin目录一个例子.我认为你会发现这个功能很有趣:

G:NERDTreeFileNode.GetSelected()

相关文章

解决方案:解决linux下vim乱码的情况:(修改vimrc的内容)全...
Linuxvi/vim所有的UnixLike系统都会内建vi文书编辑器,其他的...
      vim正则匹配:空行:/^$/  /^[\t]*$/注释...
$select-editorSelectaneditor.Tochangelater,run'sele...
上次手贱忘了保存,这次就简单做个备忘吧,把踩过的坑记一下...
Linux之文本编译器小结vim的优势所有的UNIX-LIKE习通都会内置...