10

是否可以通过自定义扩展(最好用 Python 编写)来扩展 vim 功能?

理想情况下,我需要的是在命令模式下的自定义命令。例如

ESC键

:做这个

:去做

4

3 回答 3

20

vim 支持在 python 中编写脚本(我认为在 perl 中也是如此)。

你只需要确保你使用的 vim 发行版已经编译了 python 支持。

如果您使用的是 Linux 系统,您可以下载源代码,然后使用

./configure --enable-pythoninterp 
make
sudo make install

在 vim 里面,你可以输入

:version

列出可用的功能;如果它支持python,你应该在某处看到一个'+python'(否则是'-python')。

然后,要检查 python 模块的使用情况,您可以键入

:help python

PS:如果您要编译 vim 源代码,请确保检查可用的配置选项,您可能还需要指定 --with-python-config-dir 。

PPS:要创建“命令模式下的自定义命令”(如果我正确理解您的意思),您可以在 vim 脚本(使用 python 或 vim 脚本语言)中创建一个函数“MyFunction”,然后调用它

:Call MyFunction()

查看

:help user-functions

详情

于 2008-09-26T10:55:13.347 回答
5

是的。http://www.vim.org/scripts/index.php上有几个扩展

如果编译了对 python 的支持,也可以使用 python 来完成。

关于它的文章:http ://www.techrepublic.com/article/extending-vim-with-python/

谷歌是我们的朋友。

高温高压

于 2008-09-26T10:57:54.120 回答
4

用 Python 编译 Vim 时遇到问题。

...检查 Python 的编译和链接标志是否正常...否:./configure 输出中的 PYTHON DISABLED”。

在 Ubuntu 10.04 上,您必须安装python2.6-dev. 的标志./configure是:

--enable-pythoninterp
--with-python-config-dir=/usr/lib/python2.6/config

确保你有一个目录路径,其中包含config.c文件。也没有/在路径的尽头!这给我带来了问题。

于 2011-03-14T00:29:53.533 回答