Pregunta

¿Es posible extender la funcionalidad vim a través de una extensión personalizada (preferiblemente, escrita en Python)?

Lo que necesito idealmente es un comando personalizado cuando estoy en modo de comando. Por ejemplo,

ESC

: do_this

: do_that

¿Fue útil?

Solución

vim admite scripts en python (y también en perl, creo).

Solo debes asegurarte de que la distribución vim que estás utilizando se haya compilado con el soporte de Python.

Si está utilizando un sistema Linux, puede descargar la fuente y luego compilarla con

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

Dentro de vim, puedes escribir

:version

para enumerar las características disponibles; si tiene soporte de python, deberías ver un '+ python' en algún lugar (de lo contrario, un '-python').

Luego, para verificar el uso del módulo de Python, puede escribir

:help python

P.S: si va a compilar las fuentes vim, asegúrese de verificar las opciones de configuración disponibles, es posible que deba especificar --with-python-config-dir también.

P.P.S: para crear un " comando personalizado en modo de comando " (Si entiendo correctamente lo que quiere decir), puede crear una función " MyFunction " en un script vim (usando python o el lenguaje de scripts vim) y luego invocarlo con

:Call MyFunction()

Comprobar

:help user-functions

para detalles

Otros consejos

Si lo es. Hay varias extensiones en http://www.vim.org/scripts/index.php

También se puede hacer con python si se compila el soporte para python.

Artículo al respecto: http://www.techrepublic.com/ article / extended-vim-with-python /

Google es nuestro amigo.

HTH

Tuvo problemas para compilar Vim con Python.

  

... comprobando si la compilación y las banderas de enlace para Python están en buen estado ... no: PYTHON DISABLED " en la salida ./configure.

En Ubuntu 10.04 tienes que instalar python2.6-dev . Las banderas para ./configure son:

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

Asegúrese de obtener una ruta al directorio, que contiene el archivo config.c . ¡También no hay / al final del camino! Eso me causó problemas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top