Расширение Vim (через Python)? - PullRequest
10 голосов
/ 26 сентября 2008

возможно ли расширить функциональность vim через пользовательское расширение (желательно написанное на Python)?

В идеале мне нужна пользовательская команда в командном режиме. Э.Г.

ESC

: do_this

: do_that

Ответы [ 3 ]

20 голосов
/ 26 сентября 2008

vim поддерживает скрипты на python (и на Perl, я думаю).

Вам просто нужно убедиться, что используемый вами дистрибутив vim скомпилирован с поддержкой Python.

Если вы используете систему Linux, вы можете скачать исходный код и затем скомпилировать его с помощью

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

Внутри vim вы можете набрать

:version

для перечисления доступных функций; если у него есть поддержка Python, вы должны увидеть где-нибудь '+ python' (в противном случае '-python').

Затем, чтобы проверить использование модуля python, вы можете набрать

:help python

P.S: если вы собираетесь скомпилировать исходные коды vim, обязательно проверьте доступные параметры конфигурации, возможно, вам также потребуется указать --with-python-config-dir.

PPS: чтобы создать «пользовательскую команду в командном режиме» (если я правильно понимаю, что вы имеете в виду), вы можете создать функцию «MyFunction» в сценарии vim (используя python или язык сценариев vim), а затем вызвать ее с

:Call MyFunction()

Чек

:help user-functions

для деталей

5 голосов
/ 26 сентября 2008

Да, это так. На http://www.vim.org/scripts/index.php

есть несколько расширений

Это может быть сделано и с python, если поддержка python скомпилирована в.

Статья об этом: http://www.techrepublic.com/article/extending-vim-with-python/

Google наш друг.

НТН

4 голосов
/ 14 марта 2011

Возникли проблемы при компиляции Vim с Python.

... проверка правильности флагов компиляции и ссылки для Python ... no: PYTHON DISABLED "в выводе ./configure.

В Ubuntu 10.04 вы должны установить python2.6-dev. Флаги для ./configure:

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

Убедитесь, что вы получили путь к каталогу, который содержит config.c файл. Также нет / в конце пути! Это вызвало у меня проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...