我每天都在使用 python,需要对我的本地项目和在我的 virtualenv 中找到的每个 python 模块/鸡蛋都有一个索引
以下是我希望改进的半工作版本。目前我可以在重绘命令之前做一个或另一个。通过这种方法,我最终在我处理的每个项目的根目录中都有一个 .ctags 文件,并且 vim 知道通过类名/方法名/等进行任何查找都变得快速而简单。
有没有办法将这 2 行 exe 组合成一行,仍然只产生一个索引文件?
先感谢您
set tags=./.ctags,.ctags;
" re-index the ctags file
map <leader>ri :call RenewTagsFile()<cr>
" search through the indexed ctags file for any class/method/etc
map <leader>fs :FufTag<CR>
function! RenewTagsFile()
exe 'silent !ctags -Rf .ctags ' . system('python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"')''
exe 'silent !ctags -Rf .ctags --extra=+f --exclude=.git --languages=-javascript 2>/dev/null'
exe 'redraw!'
endfunction
更新
对于将来可能偶然发现这个问题的任何人,我都可以使用 -a 标志附加(因此更新标签文件功能看起来像这样)
function! RenewTagsFile()
exe 'silent !ctags -Rf .ctags ' . system('python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"')''
exe 'silent !ctags -a -Rf .ctags --extra=+f --exclude=.git --languages=-javascript 2>/dev/null'
exe 'redraw!'
endfunction