加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

VIM在.vimrc中设置ctags

发布时间:2020-12-15 18:51:01 所属栏目:安全 来源:网络整理
导读:我的项目在/ srv / http / dev文件夹中.我为一个项目生成了ctags文件: $ctags -R --languages=php . 现在我设置ctags路径: :set tags=/srv/http/dev/proj/tags 它工作正常 但是我在dev /文件夹里有很多项目.如何在.vimrc文件中设置ctags? set tags =标签
我的项目在/ 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()

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读