web-dev-qa-db-fra.com

Configuration de Vim pour Python

J'aime beaucoup l'éditeur Emacs pour Python parce qu'il est intelligent, par exemple, si j'ai quelque chose comme ça

def foo():
    if bar:
         blah
         [b]eep

et j'appuie sur l'onglet sur le curseur (qui est sur le b du bip), il n'insérera pas un nouvel onglet causant une erreur de syntaxe, mais basculera entre les niveaux possibles que le bip peut être activé. Y a-t-il un moyen d'obtenir cet effet sur Vim?

59
Doboy

En général, vim est un très puissant éditeur de langage régulier (les macros l'étendent, mais nous l'ignorerons pour l'instant). En effet, vim est une couche mince au-dessus de ed, et ed n’est guère plus qu’un éditeur de ligne qui parle regex. Emacs a l'avantage d'être construit sur ELisp; en lui donnant la possibilité d’analyser facilement des grammaires complexes et d’exécuter des tours d’indentation comme celui que vous avez partagé ci-dessus.

Pour être honnête, je n’ai jamais pu plonger dans les profondeurs d’Emacs parce que c’est tout simplement délicieux de méditer dans ma grotte Vim. Cela dit, intervenons.

Commencer

Janus

Pour les débutants, je recommande fortement d'installer le readymade plugin Janus (fwiw, le nom vient d'un épisode de Star Trek mettant en vedette Janus Vim). Si vous voulez un raccourci rapide vers un vim IDE c'est votre meilleur rendement pour votre argent.

Je ne l'ai jamais beaucoup utilisé, mais j'ai vu d'autres personnes l'utiliser avec bonheur et ma configuration actuelle est fortement empruntée à une ancienne version de Janus.

Vim Pathogen

Sinon, explorez vous-même! Je recommande fortement d'installer vim pathogen si vous voulez voir l'univers des plugins vim.

C'est un gestionnaire de paquets en quelque sorte. Une fois installé, vous pouvez git clone paquets à votre ~/.vim/bundle répertoire et ils sont installés automatiquement. Fini l'installation, la maintenance ou la désinstallation d'un plugin!

Vous pouvez exécuter le script suivant à partir de la page GitHub pour installer l'agent pathogène:

mkdir -p ~/.vim/autoload ~/.vim/bundle; \
curl -so ~/.vim/autoload/pathogen.vim \
    https://raw.github.com/tpope/vim-pathogen/HEAD/autoload/pathogen.vim

Liens utiles

Voici quelques liens sur l'extension de vim que j'ai trouvés et appréciés:

92
mvanveen

Pour ceux qui arrivent vers l'été 2013, je pense qu'une partie de ce fil est obsolète.

J'ai suivi ce howto qui recommande Vundle over Pathogen. Après un jour d'utilisation, l'installation de plugins était triviale.

Le plugin klen/python-mode mérite une mention spéciale. Il fournit pyflakes et pylint parmi d'autres fonctionnalités.

Je viens de commencer à utiliser Valloric/YouCompleteMe et j'adore ça. C-lang est auto-complet et python fonctionne également très bien grâce à l’intégration de Jedi. Il pourrait bien remplacer jedi-vim selon cette discussion/davidhalter/jedi-vim/issues/119

Enfin, parcourir les plugins/carlhuda/janus fournis est un bon guide pour les scripts utiles que vous ne savez peut-être pas que vous recherchez, tels que NerdTree, vim-fugitive, syntastic, powerline, ack.vim, snipmate ...

Tous les '{}/{}' ci-dessus se trouvent sur github, vous pouvez les trouver facilement avec Google.

26
Greg

Mettez ce qui suit dans votre .vimrc

autocmd BufRead *.py set smartindent cinwords=if,Elif,else,for,while,try,except,finally,def,class
autocmd BufRead *.py set nocindent
autocmd BufWritePre *.py normal m`:%s/\s\+$//e ``
filetype plugin indent on

Voir aussi le instructions détaillées

Personnellement, j'utilise le PyCharm de JetBrain avec le plugin IdeaVIM lors de la réalisation de tâches complexes, pour éditer simplement les ajouts à .vimrc semble suffisant.

15
Kimvais

Il existe une collection de plug-ins Vim pour Python développement: http://www.vim.org/scripts/script.php?script_id=377 =

3
orluke

Re: the dead "Transformer Vim en un lien moderne Python IDE"), en 2013, j’avais sauvegardé une copie, que j’avais convertie en page HTML et en PDF copie:

http://persagen.com/files/misc/Turning_vim_into_a_modern_Python_IDE.html

http://persagen.com/files/misc/Turning_vim_into_a_modern_Python_IDE.pdf

Modifiez les URL mises à jour (08 sept. 2017).

2
Victoria Stuart

Sous Linux, ce qui a fonctionné pour moi était le guide de John Anderson (sontek), que vous pouvez trouver sur ce lien . Cependant, j'ai triché et ai juste utilisé la configuration facile de son repostiory Git:

git clone -b vim https://github.com/sontek/dotfiles.git

cd dotfiles

./install.sh vim

Sa configuration est assez à jour à ce jour.

2
Will Sams

Il y a quelque temps, j'ai installé Valloric/YouCompleteMe et je le trouve vraiment génial. Il vous fournit des informations complètes sur les chemins de fichiers, noms de fonctions, méthodes, noms de variables ... Associé à davidhalter/jedi-vim , il rend vim très bien pour python programmation (le la seule chose qui manque maintenant est un linter).

1
SummerBreeze

Un très bon système de gestion de plugin à utiliser. Le fichier vimrc inclus est assez bon pour la programmation de python et peut être facilement configuré selon vos besoins. Voir http://spf13.com/project/spf13-vim/

0
Oseack