Automatisch aanvullen in Vim

Ik heb problemen met automatisch aanvullen. Hoe kan ik een codesuggestie krijgen terwijl ik typ?

Ik ontwikkel meestal in PHP, Ruby, HTML, C en CSS.


Antwoord 1, autoriteit 100%

Je kunt een plug-in gebruiken zoals AutoComplPopom de code automatisch aan te vullen terwijl u typt.

2015 Edit: ik gebruik nu persoonlijk YouCompleteMe.


Antwoord 2, autoriteit 93%

Gebruik CtrlNom een lijst met woordsuggesties te krijgen in de invoegmodus. Typ :help i_CTRL-Nom de documentatie van Vim over deze functionaliteit te bekijken.

Hieris een voorbeeld van het importeren van het Python-woordenboek in Vim.


Antwoord 3, autoriteit 30%

Als u VIM versie 8+ gebruikt, typt u gewoon Ctrl + nof Ctrl + p.


Antwoord 4, autoriteit 9%

Je kunt beginnen met de ingebouwde omnifunc-instelling.

Zet maar:

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

onderaan uw .vimrcen typ vervolgens <Ctrl-X><Ctrl-O>in de invoegmodus.

Ik vertrouw altijd op deze CSS-aanvulling.


Antwoord 5, autoriteit 4%

Er is ook https://github.com/Valloric/YouCompleteMeen het bevat zaken als Jedi en heeft ook een fuzzy match. Tot nu toe vond ik YCM de snelste van wat ik heb geprobeerd.

Bewerken: er zijn ook enkele nieuwe, zoals https://github.com/maralla/completor. vim


Antwoord 6, autoriteit 2%

Ik gebruik neocomplcacheongeveer een half jaar. Het is een plug-in die een cache van woorden in al uw buffers verzamelt en deze vervolgens voor u automatisch aanvult.

Er is een reeks schermafbeeldingen op de projectpagina in de vorige link. Neocomplcache heeft ook een heleboel configuratie-opties, waarvan er ook basisvoorbeelden zijn op de projectpagina.

Als je meer diepgang nodig hebt, kun je de relevante sectie bekijken in mijn vimrc– zoek gewoon op het woord neocomplcache.


Antwoord 7, autoriteit 2%

Ik heb onlangs een project ontdekt met de naam OniVim, een op elektronen gebaseerde front-end voor NeoVim die wordt standaard geleverd met een zeer mooie automatische aanvulling voor verschillende talen, en aangezien het in feite slechts een wrapper rond NeoVim is, heb je de volledige kracht van vim tot je beschikking als de GUI niet aan je behoeften voldoet. Het is nog in de vroege ontwikkeling, maar het verbetert snelen er is een echt actieve gemeenschap omheen. Ik gebruik vim al meer dan 10 jaar en ben een paar weken geleden begonnen met het geven van een proefrit aan Oni, en hoewel het hier en daar wat bugs heeft, heeft het me niet in de weg gestaan. Ik zou het ten zeerste aanbevelen aan nieuwe vim-gebruikers die nog steeds hun vim-vingers krijgen!

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


Antwoord 8, autoriteit 2%

Een andere optie is coc.nvim.

Het is echt snel en de voltooiing is geweldig omdat het dezelfde automatische aanvulling gebruikt als in VScode.
Het heeft ook pluismogelijkheden. Dus het laat zien dat je misschien een bug hebt.
Het ondersteunt een groot aantal talen.

Het kan wat tijd kosten om het in te stellen en te configureren, maar ik denk dat dit de beste engine voor automatisch aanvullen voor vim is die er is.


Antwoord 9

Hier is link! voor PHP.

druk op de toetsen Ctrl + x gevolgd door Ctrl + o tijdens het schrijven van enkele PHP-functies.

Met dank aan Oseems Solutions voor de tutorial


Antwoord 10

Als u uw huidige buffers alleen automatisch wilt aanvullen vanuit de cache, is supertabeenvoudiger te installeren dan neocomplete, werkt op Mac voorgeïnstalleerde vim out-of-box zonder de noodzaak van MacVim.

Je kunt andere alternatieven bekijken op vim awesome.


Antwoord 11

Voor PHP, Padawanmet Deopletezijn geweldige oplossingen voor een robuuste automatische aanvulling van PHP in Neovim. Ik heb veel dingen geprobeerd en Padawan werkt als een tierelier!

Voor Vim kun je Neocompletegebruiken in plaats van Deoplete.

Ik heb een artikel geschreven over het maken van een Vim PHP IDEals iemand geïnteresseerd. Natuurlijk maakt Padawan daar deel van uit.


Antwoord 12

gebruik de extensie vscode en vim. dan krijg je alle voordelen van vscode, samen met vim-sneltoetsen. als je 24*7 op terminal bent of 32 linux gebruikt, moet je het inschakelen met de bovengenoemde methoden…..

Other episodes