gpt4 book ai didi

python - Vim、Python 和 Django 自动补全(pysmell?)

转载 作者:IT老高 更新时间:2023-10-28 20:34:29 25 4
gpt4 key购买 nike

有谁知道如何设置自动完成以与 python、django 和 vim 很好地配合使用?

我一直在尝试使用 pysmell,但我似乎无法正确设置它(或者我可能不知道它是如何工作的)。现在,我在 django 目录中运行 pysmell(我正在使用主干)并将生成的标签移动到我的项目目录中,然后我也在项目目录中运行 pysmell。不过,Vim 不会选择 django 标签,它们也不会自动完成。

有谁知道如何在 vim 中设置自动完成,以便它完成长 django 函数(如 get_object_or_404)以及我自己代码中的类/函数?我在谷歌上四处寻找,但没有找到任何好的资源。

谢谢。

最佳答案

首先,感谢您提出这个问题,因为它迫使我自己解决这个问题,这很棒!

这是我用作引用的页面:PySmell v0.6 released : orestis.gr

  1. 使用 setup.py install 命令安装 PySmell。
  2. 通过转到 site-packages/django 目录并运行:pysmell 为 django 生成 PYSMELLTAGS 文件。 -o ~/PYSMELLTAGS.django
  3. 将该文件复制到您的项目目录,然后运行 ​​pysmell . 以生成项目 PYSMELLTAGS 文件
  4. 确保 pysmell 在您的 PYTHONPATH 中(export PYTHONPATH=${PYTHONPATH}:/path/to/pysmell/)
  5. 运行 vim (vim .)
  6. 源码pysmell.vim (:source/path/to/pysmell/pysmell.vim)
  7. 设置自动完成命令(:set omnifunc=pysmell#Complete)
  8. 输入 ^x^o 以自动完成,它应该可以工作

我意识到这不是一个可持续的解决方案,但您应该能够以此为起点,让它始终工作(例如,将导出添加到您的 .bashrc,将 :source 添加到您的 .vimrc, setup autocmd FileType python set omnifunc=pysmell#Complete等)

让我知道这是否足以让您入门。它对我有用!

编辑我只是将它添加到我的 .vimrc 中,只要 PYSMELLTAGSPYSMELLTAGS.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

关于python - Vim、Python 和 Django 自动补全(pysmell?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/978643/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com