我希望能够通过ctags从我的virtualenv库中获取源代码但是为了能够做到这一点我需要知道哪个virtualenv当前是活动的,所以例如,我在.vimrc中添加了这个代码,它附加了django到我的ctags索引:
nnoremap <F7> :!ctags -R --python-kinds=-i -a ~/.virtualenvs/MYPROJECT/lib/python2.7/site-packages/django/*<CR>
而不是硬编码路径,我希望它做的事情如下:
nnoremap <F7> :!ctags -R --python-kinds=-i -a CURRENT_PROJECT_PACKAGES_PATH/django/*
所以我可以从我正在处理的当前项目中索引包。
答案 0 :(得分:1)
您可以使用$ VIRTUAL_ENV到达您的图书馆,所以它就是这样的
nnoremap <F7> :!ctags -R --python-kinds=-i -a $VIRTUAL_ENV/lib/python2.7/site-packages/django/*
答案 1 :(得分:0)
使用类似let g:current_proj = "~/.virtualenvs/MYPROJECT/lib/python2.7/site-packages/"
的变量,然后使用exe:
nnoremap <F7> :exe "!ctags -R --python-kinds=-i -a " . g:current_proj . "django/*"<cr>
或者您可以直接使用环境变量:
nnoremap <F7> :exe "!ctags -R --python-kinds=-i -a " . $CURRENT_PROJECT_PACKAGES . "django/*"<cr>