Sok IDE automatikusan kitölti a függvényneveket, változókat, metódusneveket stb. A legjobbak kiegészítik a neveket mind a nyelv beépített könyvtárának, mind pedig annak alapján, amit ugyanazon program más fájljaiban már meghatároztak.
Például, amikor a következőket gépelem be: Python program:
hungy = True def eatFood(food): pass if hungry: eatF
a eatF
sor automatikusan megmutatja a eatFood()
elérhető automatikus kiegészítésként.
A Vim rendelkezik ezzel a képességgel? Ha igen, hogyan tudom engedélyezni?
Válasz
Az autocomplete sokféle ízű a vim-ben. Ennek egyik módja lehet a SuperTab használata. Ez lehetőséget nyújt a fülek kitöltésének többé-kevésbé bármikor használatára. Ez lehetővé tenné a Tab lenyomását, miután részben beírta a szót a teljes listához. Például írja be a eatF
, majd a Tab a következőre történő kibontáshoz: eatFood.
Felhívjuk figyelmét, hogy : ezek a képek valamilyen cselekvő gif-re mutatnak.
A Vimnek kiváló egyéb lehetőségei vannak. Olvassa el a következőt: :h ins-completion
a beépített befejezési lehetőségek sokfélesége. A vim “s Ctrl–X Ctrl – O használata a egy python-tudatos plugin, például a jedi teljes ízt adhat. A Jedi beállítható úgy, hogy dokumentációt adjon a teljes kiegészítésről (ezt Ctrl–X Ctrl – O teszi ). Ezután a befejező jelöltek dokumentációja egy megosztott ablakban jelenik meg.
Hasonló pluginek, de különböző opciók használata mindenféle viselkedéshez vezet. Lehetséges például, hogy nem kell kérnie az automatikus kiegészítést (ha ezt követi). Ehelyett, miután beírt egy bizonyos számú betűt (mondjuk 2 vagy 3) egy szót, egy plugin képes próbáljon intelligensen felajánlani egy menüben lehetséges kiegészítéseket.
Tehát a rövid válasz egy igen! De a konfigurációs folyamat kissé bonyolult lehet. Úgy gondolom, hogy ez egy lépés a vim elsajátításának hosszú lépcsőjén.
Megjegyzések
- Én ‘ mindegyiket kipróbáltam, és mindig visszatérek a SuperTab-hoz, ez ‘ a legkevésbé tolakodó.
- Nekem is nagyon tetszik a YouCompleteMe beépülő modul, mivel ez írja be a gépelést, és választhat vagy figyelmen kívül hagyhat javaslatokat. Igen, vizuálisan nehéz figyelmen kívül hagyni, de a munkafolyamatomban nagyon nem tolakodó, mert requi res kevesebb billentyűleütés.
- Én ‘ az animációkat ” -re változtattam a , abban az értelemben, hogy a gif-animációkhoz vannak kapcsolva.
- ‘ Nem használhatom a YouCompleteMe-t a munkám számítógépén, mert Don ‘ nincs gyökér a függőségek telepítéséhez, a SuperTab messze a következő legjobb választás.
- @mixedmath Esetemben a superTab nem ‘ nem működik.
Válasz
Ilyen funkcionalitás – azaz az aktuális fájl keresése ( és az összes megnyitott fájlt) az automatikus kitöltéshez alapértelmezés szerint engedélyezni kell a Ctrl+P
paranccsal:
A n ext javaslatra a , a p heves javaslat Ctrl+P
és válassza ki bármely betű beírásával (amely közvetlenül a javaslat után lesz csatolva).
Megjegyzések
Válasz
A Vim natív módon támogatja a befejezést . A Vim által támogatott különféle kiegészítésekről a :h ins-completion
címen olvashat.
Általánosságban elmondható, hogy minden általam talált célra elegendőek a betöltések. vannak azonban olyan befejezési beépülő modulok, amelyek több értéket képviselnek, mint amit a kiegészítések kínálnak. A NeoComplete , YCM (YouCompleteMe) ugyanaz. Haladóbbak abban az értelemben, hogy megpróbálják pontosabban kombinálni a különböző típusú kiegészítéseket, emellett fejlett gyorsítótárazó mechanizmusaik is vannak, így általában gyorsabbak. Az YCM még a külső fordítókkal / segédprogramokkal is együttműködik, hogy jobb IntelliSense-t biztosítson.
Válasz
Igen, automatikus befejező szkriptek mert vim léteznek. A “legjobb” választás a programozási nyelvtől függ. Mivel a példakódod Python, javaslom, hogy nézd meg a Jediket . Építs rá. Ehhez létezik Te teljesítesz , amely más nyelveket is támogat, de néha túl nagynak tartják. Más nyelvek esetén a vim szkripteken a hosszú készletet böngészheti.
Válasz
Beszúrási módban írja be a szó első pár karakterét, majd nyomja meg a gombot:
Ctrl-N to insert the next matching word; or Ctrl-P to insert the previous matching word.
Ez különösen akkor hasznos, ha változók neve egy programban.
A “teljes” opció vezérli a kulcsszavak keresését (fájlokat, címkefájlokat, puffereket és egyebeket tartalmaz).
A “teljes opció” opció szabályozza, hogy a befejezés hogyan történik (például, hogy megjelenik-e egy menü).
^P
természetesebb IMHO. Különben köszönöm a szerkesztést (remélem, hogy rákattintottam a jobb gombra, és megkapta a +2-et).world,word,wood
és nem fordítva).Tehát a^P
az utolsó használt befejezés, ami nagyon hasznos (ritkán lépek tovább a listán 3 elemnél, még egy hosszú fájlban is).inoremap <C-Space> <C-N>