web-dev-qa-db-fra.com

Complétion automatique dans Vim

Après une longue "formation", je suis finalement passé à Vim; mais j'ai quelques problèmes avec l'auto-complétion. Comment puis-je avoir une suggestion de code pendant que je tape?

Je développe habituellement PHP, Ruby, HTML, C et CSS.

202
diegocstn

Vous pouvez utiliser un plugin tel que AutoComplPop pour obtenir la complétion automatique du code en cours de frappe.

2015 Edit: J'utilise personnellement YouCompleteMe now.

119
michaelmichael

Utilisation Ctrl-N pour obtenir une liste de suggestions Word en mode insertion. Tapez :help i_CTRL-N pour voir la documentation de Vim sur cette fonctionnalité.

Here est un exemple d'importation du dictionnaire Python dans Vim.

376
Orbit

Vous pouvez commencer à partir du paramètre omnifunc intégré.

Il suffit de mettre:

filetype plugin on
au FileType php setl ofu=phpcomplete#CompletePHP
au FileType Ruby,eruby setl ofu=rubycomplete#Complete
au FileType html,xhtml setl ofu=htmlcomplete#CompleteTags
au FileType c setl ofu=ccomplete#CompleteCpp
au FileType css setl ofu=csscomplete#CompleteCSS

au bas de votre .vimrc, puis tapez <Ctrl-X><Ctrl-O> en mode insertion.

Je compte toujours sur cette complétion CSS.

9
ernix

Il existe également https://github.com/Valloric/YouCompleteMe et inclut des éléments tels que Jedi, ainsi que des correspondances floues. Jusqu'ici, j'ai trouvé que YCM était le plus rapide parmi ceux que j'ai essayés.

Edit: Il en existe aussi de nouveaux comme https://github.com/maralla/completor.vim

6
Nishant

J'ai récemment découvert un projet appelé OniVim , une interface électronique pour NeoVim livrée avec un très bel autocomplétée pour plusieurs langues, et comme il s'agit en fait d'une simple enveloppe autour de NeoVim, toute la puissance de vim à votre disposition si l'interface graphique ne répond pas à vos besoins. Il en est encore à ses débuts, mais il s’améliore rapidement et il y a une communauté très active autour. J'utilise vim depuis plus de 10 ans et j'ai commencé à tester Oni il y a quelques semaines. Même s'il comporte des bogues ici et là, il ne m'a pas gêné. Je le recommande vivement aux nouveaux utilisateurs de vim qui continuent à avoir leurs doigts vim!

 enter image description here

OniVim: https://www.onivim.io/

5
Parker Ault

Si vous utilisez VIM version 8+, tapez simplement Ctrl + n ou Ctrl + p.

3
Ângelo Polotto

J'ai utilisé neocomplcache pendant environ six mois. C'est un plugin qui collecte un cache de mots dans tous vos tampons et vous les fournit ensuite pour que vous puissiez les compléter automatiquement.

Il y a un tableau de captures d'écran sur la page du projet dans le lien précédent. Neocomplcache propose également une multitude d'options de configuration, dont des exemples de base sont également disponibles sur la page du projet.

Si vous avez besoin de plus de détails, vous pouvez consulter la section correspondante dans mon vimrc -, il vous suffit de rechercher le mot neocomplcache.

3
sp3ctum

Si vous voulez seulement compléter automatiquement à partir du cache de vos tampons actuels, supertab est plus facile à installer que neocomplete , peut fonctionner avec vim pré-installé sur Mac sans la nécessité de MacVim.

Vous pouvez vérifier d'autres alternatives à vim awesome .

1
tning

Voici link ! pour PHP. 

appuyez sur les touches Ctrl + x suivies des touches Ctrl + o pendant l'écriture de certaines fonctions PHP. 

Merci à Oseems Solutions pour le tutoriel

1
Brian Kenya

Pour PHP, Padawan avec Deoplete sont d'excellentes solutions pour avoir une auto-complétion robuste PHP dans Neovim. J'ai essayé beaucoup de choses et Padawan fonctionne comme un charme!

Pour Vim, vous pouvez utiliser Neocomplete à la place de Deoplete.

J'ai écrit un article sur comment créer un Vim PHP IDE si quelqu'un est intéressé. Bien sûr, Padawan en fait partie. 

0
Matthieu