Monet IDE: t täydentävät funktioiden, muuttujien, menetelmien nimet jne. automaattisesti käyttäjän tyyppeinä. Parhaimmat täydentävät nimiä sekä kielen sisäänrakennetun kirjaston että sen perusteella, mikä on jo määritelty saman ohjelman muissa tiedostoissa.
Esimerkiksi kun kirjoitan seuraavia Python-ohjelma:
hungy = True def eatFood(food): pass if hungry: eatF
rivi eatF
näyttäisi automaattisesti eatFood()
käytettävissä olevana automaattisen täydennyksen vaihtoehtona.
Onko Vimillä tämä ominaisuus? Jos näin on, kuinka voin ottaa sen käyttöön?
Vastaa
Vimissä on monia erilaisia automaattisen täydennyksen makuja. Yksi tapa voi olla käyttää SuperTab-välilehteä . Tämä tarjoaa tavan käyttää välilehtien täydennystä enemmän tai vähemmän milloin tahansa. Tämän avulla voit painaa Sarkain , kun olet kirjoittanut sanan osittain saadaksesi täydennysluettelon. Esimerkiksi kirjoittamalla eatF
ja sen jälkeen Sarkain laajentaaksesi kohtaan eatFood.
Huomaa : nämä kuvat linkittävät kaikki esimerkkigifeihin toiminnassa.
Vimillä on erinomaiset muut vaihtoehdot. Sinun tulisi lukea :h ins-completion
nähdäksesi erilaisia sisäänrakennettuja täydennysvaihtoehtoja. Vim ”s Ctrl–X Ctrl – O ja pythonia käyttävä laajennus, kuten jedi , voi antaa täydellisen maun. Jedit voidaan konfiguroida antamaan dokumentaatio omni-täydennyksestä (tämän tekee Ctrl–X Ctrl – O ). Sitten valmistumisen ehdokkaiden dokumentaatio ilmestyy jaettuun ikkunaan.
Samankaltaisten laajennusten, mutta eri vaihtoehtojen käyttö johtaa kaikenlaiseen käyttäytymiseen. Esimerkiksi on mahdollista, että sinun ei tarvitse pyytää automaattista täydennystä (jos sitä etsit). Sen sijaan, kun olet kirjoittanut jonkin verran sanan kirjaimia (esimerkiksi 2 tai 3) sanaa, laajennus voi yritä tarjota älykkäästi mahdollisia täydennyksiä valikossa.
Lyhyt vastaus on siis kyllä! Mutta määritysprosessi voi olla hieman monimutkainen. Ajattelen sitä askeleena vim-masteroinnin pitkässä portaikossa.
Kommentit
- Olen ’ kokeillut niitä kaikkia ja palaan aina SuperTabiin, se ’ on vähiten häiritsevä.
- Pidän myös todella YouCompleteMe-laajennuksesta, koska se ehdottaa kirjoittajan tyyppiä ja voit joko valita ehdotuksen tai jättää sen huomiotta. Kyllä, visuaalisesti sitä on vaikea sivuuttaa, mutta se on hyvin häiritsevä työnkulussa, koska se Requi res vähemmän avainviivoja.
- Olen ’ muuttanut animaatiot ” napsauttamalla ” siinä mielessä, että ne on linkitetty gif-animaatioihin.
- En voi ’ käyttää YouCompleteMe-tietokonetta työni tietokoneessani, koska Don ’ ei ole juuria riippuvuuksien asentamiseen, SuperTab on ylivoimaisesti seuraava paras valinta.
- @mixedmath Minun tapauksessani superTab ei ’ t toimivat.
Vastaa
Tällainen toiminnallisuus – eli nykyisen tiedoston haku ( ja kaikki avoimet tiedostot) automaattista täydennystä varten, tulee olla oletusarvoisesti käytössä Ctrl+P
:
Voit siirtyä n ext -ehdotukseen kohdassa Ctrl+N
, p voimakas ehdotus Ctrl+P
ja valitse se kirjoittamalla mikä tahansa kirjain (joka liitetään heti ehdotuksen jälkeen).
Kommentit
vastaus
Vimillä on tuki täydennykselle natiivisti . Voit lukea erilaisista täydennyksistä, joita Vim tukee, osoitteesta :h ins-completion
.
Yleensä kaikkiin löydettyihin tarkoituksiin täydennykset ovat tarpeeksi mieleisekseen on kuitenkin joitain valmistumislaajennuksia, jotka tuottavat enemmän arvoa kuin mitä täydennykset tarjoavat. NeoComplete , YCM (YouCompleteMe) ovat muutamia samoja. He ovat edistyneempiä siinä mielessä, että he yrittävät yhdistää erityyppisiä suorituksia tarkemmin, ja heillä on myös edistyneitä välimuistimekanismeja, joten ne ovat yleensä nopeampi. YCM työskentelee jopa siinä määrin, että se työskentelee ulkoisten kääntäjien / apuohjelmien kanssa tarjotakseen paremman IntelliSense-palvelun.
Answer
Kyllä, automaattiset komentosarjat sillä VIM on olemassa. ”Paras” valinta riippuu ohjelmointikielestäsi. Koska esimerkkikoodisi on Python, suosittelen katsomaan Jedit . Rakenna sen päälle. Täydennät minut on olemassa, mikä tukee myös muita kieliä, mutta joskus sitä pidetään liian suurena. Muille kielille voit selata pitkää sarjaa vim-skripteissä .
Vastaa
Kirjoita lisäystilassa sanan pari ensimmäistä merkkiä ja paina sitten:
Ctrl-N to insert the next matching word; or Ctrl-P to insert the previous matching word.
Tämä on erityisen hyödyllistä syötettäessä sanaa muuttujien nimet ohjelmassa.
”Täydellinen” -vaihtoehto määrittää, mistä avainsanoja haetaan (sisältää tiedostoja, tunnistetiedostoja, puskureita ja muuta).
”Täydellinen” -vaihtoehto ohjaa, miten valmistuminen tapahtuu (esimerkiksi näytetäänkö valikko).
^P
on luonnollisempi IMHO. Muuten kiitos muokkauksesta (toivottavasti napsautin oikeaa painiketta ja sait +2).world,word,wood
eikä päinvastoin).Joten^P
on viimeinen käytetty valmistuminen, joka on erittäin kätevä (menen harvoin yli 3 kohdetta luettelossa, jopa pitkässä tiedostossa).inoremap <C-Space> <C-N>