我一直在试图使用pysmell,但我似乎无法得到它正确设置(或者也许我不知道它是如何工作的)。现在,我在django目录中运行pysmell(我使用trunk)并将结果标签移动到我的项目目录,然后我也在项目目录中运行pysmell。 Vim不接收django标签,但是,它们不会自动完成。
有没有人知道如何在vim中设置自动完成,以便它将完成长django函数(如get_object_or_404)以及我自己的代码中的类/函数?我在google上翻了翻,但没有找到任何好的资源。
谢谢。
这里是我用作参考的页面:PySmell v0.6 released : orestis.gr
>使用setup.py install命令安装PySmell。
>为django生成PYSMELLTAGS文件,方法是转到您的site-packages / django目录并运行:pysmell。 -o〜/ PYSMELLTAGS.django
>将该文件复制到项目目录,然后运行pysmell。生成项目PYSMELLTAGS文件
>确保pysmell在您的PYTHONPATH中(导出PYTHONPATH = $ {PYTHONPATH}:/ path / to / pysmell /)
>运行vim(vim。)
>源pysmell.vim(:源/path/to/pysmell/pysmell.vim)
>设置自动完成命令(:set omnifunc = pysmell#Complete)
>键入^ x ^ o到自动完成,它应该工作
我意识到这不是一个可持续的解决方案,但你应该能够使用它作为一个开始让它设置总是工作(例如,添加导出到.bashrc,添加:source到.vimrc,设置autocmd文件类型python set omnifunc = pysmell#Complete等)
让我知道这是否足以让你开始。它为我工作!
编辑
我只是添加到我的.vimrc,只要PYSMELLTAGS& PYSMELLTAGS.django文件在我的项目根,它工作正常没有任何其他工作:
python << EOF import os import sys import vim sys.path.append("/usr/local/python/lib/python2.5/site-packages") EOF exe ":source ~/src/pysmell/pysmell.vim" autocmd FileType python set omnifunc=pysmell#Complete