3

私は毎日pythonを使用しており、ローカルプロジェクトとvirtualenvにあるすべてのpythonモジュール/eggの両方のインデックスを持っている必要があります

以下は、私が改善してほしいものの半分機能しているバージョンです。現在、redrawコマンドの前にどちらか一方を実行できます。このアプローチでは、作業する各プロジェクトのルートに1つの.ctagsファイルが作成され、vimはクラス名/メソッド名などによる検索をすばやく簡単に行えるようになります。

これらの2つのexe行を1行にまとめて、1つのインデックスファイルだけにする方法はありますか?

前もって感謝します

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 に答える