3

我每天都在使用 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
4

1 回答 1

6
于 2012-09-17T04:57:19.707 回答