python - 如何为非标准 Python 库添加自动完成功能到 Vim?

标签 python vim autocomplete

例如,我有一个使用 Google App Engine SDK 的 Python 脚本:

from google.appengine.ext import db
from google.appengine.ext import webapp
from google.appengine.ext.webapp import template
from google.appengine.ext.webapp.util import run_wsgi_app

模块 db 有一个子模块 Key,所以我尝试对其使用自动完成:

db.KTab

但是在 Vim 窗口的底部,我得到以下信息:

-- Omni completion (^O^N^P) Pattern not found

如何包含非标准 Python 库的路径,以便 Vim 自动完成功能可以找到它们?并显示他们的文档字符串?

最佳答案

您需要将您的库文件添加到您的标签文件中。例如,如果您在位于 env/的虚拟环境中通过 pip 安装了 Google App Engine:

virtualenv --no-site-package env/
source env/bin/activate
pip install google_appengine

...那么你应该执行:

ctags -R --python-kinds=-i -o tags env/

如果你没有通过 pip 安装 google_appengine,那么你应该找到你的 python 库的路径(提示:它应该由 $PYTHONPATH 指示。根据 this 引用页:“在 Unix 上,这通常是 . :/usr/local/lib/python.") 并用您找到的路径替换 env/。

最后,你的 .vimrc 文件应该解析你的标签文件。例如,在我的 .vimrc 中,我有:

set tags+=/path/to/my/tags

关于python - 如何为非标准 Python 库添加自动完成功能到 Vim?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8101564/

相关文章:

Python读取.txt文件->列表

linux - 如果使用 appimage 安装了 neovim,如何使用 nvim 命令?

vim - 如何让 imap 在 Vim 中以粘贴模式工作?

macos - 如何在 NSComboBox 上自动完成值

Python lxml更改xml对象子文本属性

javascript - BeautifulSoup 没有返回 Twitch.tv Viewcount

python - 使用 python avro 库时读写模式

vim - 如何在替换语句中将十六进制转换为十进制?

git - 有没有办法让 git 根据缩短的版本自动完成命令?

javascript - Material UI Autocomplete Chip 多线