Complétion automatique dans Vim

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

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

192
demandé sur Teun Zengerink 2011-03-02 18:25:32

9 réponses

Vous pouvez utiliser un plugin comme AutoComplPop pour obtenir la complétion automatique du code lorsque vous tapez.

2015 Edit: j'utilise personnellement YouCompleteMe maintenant.

115
répondu michaelmichael 2015-02-26 19:55:06

Utiliser Ctrl-N pour obtenir une liste de suggestions de mots alors que dans le mode insertion. Tapez :help i_CTRL-N pour voir la documentation de Vim sur cette fonctionnalité.

Voici un exemple d'importation du dictionnaire Python dans Vim.

334
répondu Orbit 2015-08-26 14:22:47

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

Sur le fond de votre .vimrc, puis tapez <Ctrl-X><Ctrl-O>, en mode insertion.

Je compte toujours sur cette complétion CSS.

9
répondu ernix 2013-05-06 14:10:59

Il y a aussi https://github.com/Valloric/YouCompleteMe et il inclut des choses comme Jedi et a aussi une correspondance floue. Jusqu'à présent, J'ai trouvé que YCM était le plus rapide parmi ce que j'ai essayé.

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

5
répondu Nishant 2017-11-19 11:41:43

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

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

Si vous avez besoin de plus de profondeur, vous pouvez regarder la section pertinente dans mon vimrc - Il suffit de chercher pour le mot neocomplcache.

3
répondu sp3ctum 2012-05-02 18:49:08

J'ai récemment découvert un projet appelé OniVim , qui est un frontal à base d'électrons pour NeoVim qui est livré avec une très belle saisie semi-automatique pour plusieurs langues, et comme il s'agit essentiellement d'un wrapper autour de NeoVim, vous avez toute la puissance de vim à votre disposition si l'interface graphique ne répond pas Il est encore au début du développement, mais il estrapidement amélioration et il y a une communauté très active autour d'elle. J'utilise vim depuis plus de 10 ans et a commencé à donner à Oni un essai routier il y a quelques semaines, et bien qu'il y ait quelques bugs ici et là, il n'a pas été sur mon chemin. Je le recommande fortement aux nouveaux utilisateurs de vim qui obtiennent encore leurs doigts vim!

entrez la description de l'image ici

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

3
répondu Parker Ault 2018-03-25 02:02:52

Ici lien! pour PHP.

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

Merci aux Solutions Oseems pour le tutoriel

1
répondu Brian Kenya 2014-05-23 10:43:22

Si vous ne voulez que l'auto-complétion à partir du cache de vos tampons actuels, supertab est plus facile à installer que neocomplete , peut fonctionner sur Mac vim pré-installé hors de la boîte sans avoir besoin de MacVim.

Vous pouvez consulter d'autres alternatives à vim génial.

1
répondu tning 2015-12-23 15:46:40

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

Pour Vim, vous pouvez utiliser Neocomplete au lieu de Deoplete.

J'ai écrit un article Comment faire un VIM PHP IDE si quelqu'un est intéressé. Bien sûr Padawan en fait partie.

0
répondu Matthieu 2017-12-04 13:05:48