Vim:如何为特定文件类型安装插件?

5 vim

昨天我遇到了jedi-vim插件,它为 python 提供了自动完成功能。我使用病原体安装了该插件,将其放置在bundle目录中,并且工作正常。

现在,正如我所提到的,这个插件仅适用于filetype: python所以我只想在打开带有扩展名的文件时加载它.py,而不是在打开其他文件(例如.java, .perl, .sh.

那么,如何才能实现这一目标。

我是一个 vim 初学者/菜鸟,但我在询问之前用谷歌搜索了一下,发现可以使用它来实现这一点vim ftplugin,但我不知道在哪里放置哪个文件。

Ing*_*kat 0

特别是对于复杂的插件,插件的编写方式必须最大限度地减少其对其他文件类型的影响。您没有说明为什么要将插件的应用程序限制为Python文件(只要它不安装干扰其他映射的全局映射,您通常不会关心),但在发现加载时间缓慢的问题之后,我怀疑是这样的。

在插件作者提供修复之前,您可以尝试将plugin/jedi.vim文件(以及相应的jedi_vim.py)上移一个目录,这样 Vim 启动时就不会自动获取它。当您想使用该插件时,通过 加载它:runtime jedi.vim。也许您甚至可以将文件移动到ftplugin/文件夹中;当编辑 Python 文件时,它们将被自动获取;试试看。

或者,您可以完全分离.vimPython 和其他开发的目录,并使用两个不同的别名来启动vim-with-python与普通的 vim:

alias vim-with-python='vim --cmd "set rtp^=~/.vim-with-python" --cmd "set rtp+=~/.vim-with-python/after"'
Run Code Online (Sandbox Code Playgroud)