2008-09-26 9 views
10

est-il possible d'étendre la fonctionnalité vim via une extension personnalisée (de préférence, écrite en Python)?Extension Vim (via Python)?

Ce dont j'ai besoin idéalement est une commande personnalisée en mode commande. Par exemple.

ESC

: do_this

: do_that

Répondre

19

vim supporte les scripts en Python (et en Perl ainsi, je pense).

Vous devez juste vous assurer que la distribution vim que vous utilisez a été compilée avec le support python.

Si vous utilisez un système Linux, vous pouvez télécharger la source et le compiler avec

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

intérieur vim, vous pouvez taper

:version 

à la liste des fonctionnalités disponibles; S'il est supporté par Python, vous devriez voir un '+ python' quelque part (un '-python' sinon).

Ensuite, pour vérifier l'utilisation du module python, vous pouvez taper

:help python 

PS: si vous allez compiler les sources de vim, assurez-vous de vérifier les options de configuration disponibles, vous pourriez avoir besoin pour spécifier --with-python-config-dir aussi bien. PPS: pour créer une "commande personnalisée en mode commande" (si je comprends bien ce que vous voulez dire), vous pouvez créer une fonction "MyFunction" dans un script vim (en utilisant python ou le langage de script vim) puis invoquer avec

:Call MyFunction() 

Vérifier

:help user-functions 

pour plus de détails

+0

Hey orsogufo, J'ai des problèmes avec ça ... le "+ python" n'apparaît pas même après la compilation avec l'option --enable-pythoninterp. J'ai mis le répertoire python-config dans /usr/lib/python2.4/ J'utilise une distribution Debian standard. Des suggestions? Je serais extrêmement reconnaissant. – AgentLiquid

+0

@ shafik23: c'est assez étrange; Êtes-vous sûr que la compilation a été réussie? Avez-vous reçu un avertissement? La meilleure suggestion que je peux vous donner est de lire attentivement la sortie de configure et make ... et bien sûr, si vous trouvez quelque chose d'étrange, vous pouvez poser une question! Salutations –

+0

@ shafik23 J'ai eu un problème avec des symptômes comme le vôtre jusqu'à ce que j'ai également installé le paquet python-dev. J'ai suivi la procédure de base des instructions http://www.blog.deepinit.com/?p=6 ie éditer Makefile dans src/pour inclure CONF_OPT_PYTHON = '- enable-pythoninterp' ligne puis 'make config' dans src/puis faites && make install depuis le répertoire de premier niveau. – sparklewhiskers

3

Had a de problèmes avec Python compiler Vim.

... vérifier si des drapeaux de compilation et de liaison pour Python sont sains d'esprit ... non. PYTHON HANDICAPÉS » dans la sortie de ./configure

Sur Ubuntu 10.04 vous devez installer python2.6-dev.Les drapeaux pour ./configure sont:

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

Assurez-vous que vous avez un chemin vers le répertoire qui contient le fichier config.c. Aussi pas de / à la fin du chemin! Cela m'a causé des problèmes.

Questions connexes