Az autocompletion C / C + + vimben

Az automatikus kiegészítés nagyszerű funkciója azoknak a programozóknak, akik különböző típusú programozási nyelveken dolgoznak, mint a C / C + + nyelvek. A Vim szerkesztő Windows vagy Linux alatt biztosítja ezt a funkciót. A Vimben a C / C + + automatikus kitöltése olyan szavakat keres, amelyek egy olyan fájlból vannak beírva, amely korábban elmentette a címkéket benne. A felhasználó a rendszer hardverösszetevőjével - azaz a billentyűzettel - beállít egy kulcsot a tárolt címkék átnézésének folyamatához. Mindazonáltal körültekintő lenne szem előtt tartani a szavakat, amelyeknek nincs értelme.

  • Telepítés
  • Configuration
  • Használat
  • linkek

Ez a bemutató a Vim Linux rendszeren futó embereinek szól. Az automatikus teljesítés ismerős funkció a Linux felhasználók számára, de néha olyan szavakat is sugall, amelyek nem értelmezhetők a kontextusban. Ez a programozás során frusztrálhat, mivel az Automatikus teljesítés javasolhat például egy típust, amikor a kód ebben a pontjában egy módszerre számítunk.

 osztályú plop () {védett: int plopons; nyilvános: plop () {} void plopez () {}}; int main () {plop p; o. // <- Ctrl P javaslatera sikere: plopez, plop ... alors que c'est forcément plopons visszatér 0; } 

A Vim alapú plugin segítségével létrehozhat egy intelligensebb automatikus kitöltést, amely figyelembe veheti azt a kontextust, amelyben egy szót használnak.

Telepítés

Kezdjük a ctag-ok telepítésével. Például Debian vagy Debian alapú disztribúciók (ubuntu, xandros stb.) Alatt:

 sudo aptitude frissítés sudo aptitude safe-upgrade sudo aptitude telepítse exuberant-ctag-okat 

Az automatikus befejezéshez a Vim plugint is helyreállítja:

//www.vim.org/scripts/script.php?script_id=1520

Mindent megteszünk az önmegvalósítás tekintetében a ~ /. Vim:

 mkdir -p ~ / .vim / tags mv omnicpp * zip ~ / .vim cd ~ / .vim unzip omnicpp * zip cd - 

A Ctag-ok figyelembe vehetik a QT, OpenGL, SDL fejlécek problémáját. Az STL esetében azonban az "egyszerű" fejléceket itt kell letöltenie:

//www.vim.org/scripts/script.php?script_id=2358

Csomagolja az archívumot és címkéket hoz létre az STL-ből:

 tar xjvf cpp_src.tar.bz2 ctags -R - c ++ - fajták = + p --fields = + iaS --extra = + q - nyelv-erő = C ++ cpp_src & & mv címkék ~ / .vim / tags / stl 

Most létrehozza a telepített könyvtárak címkéit (ha a könyvtárak máshol vannak telepítve). Például az OpenGL, SDL és QT könyvtárakban egyszerűen írja be a következő három parancsot:

c

 címkék -R --c ++ - fajták = + p --fields = + iaS --extra = + q - nyelvi erő = C ++ / usr / include / GL / & mv címkék ~ / .vim / tags / gl ctags - R --c ++ - fajták = + p --fields = + iaS --extra = + q - nyelv-erő = C ++ / usr / include / SDL / & & mv címkék ~ / .vim / tags / sdl ctags -R - -c ++ - fajták = + p --fields = + iaS --extra = + q - nyelv-erő = C ++ / usr / include / qt4 / & & mv címkék ~ / .vim / tags / qt4 

Configuration

Most meg kell mondanunk a vimnek, hogy töltse be a bővítményfájlokat és a különböző címkéket. Ehhez egyszerűen hozzáadja a fájl végéhez ~ /. Vimrc a következő sorok:

 "prérequis tags set nocp filetype plugin a" configure tags "- további címkék hozzáadása vagy megjegyzések a nem használt címkék megadása + = ~ / .vim / tags / stl set tags + = ~ / .vim / tags / gl set tags + = ~ / .vim / tags / sdl set tags + = ~ / .vim / tags / qt4 "a saját projektjei címkék építése a CTRL + F12 térképpel:! ctags -R --c ++ - fajták = + p --fields = + iaS - -extra = + q. noremap:! ctags -R --c ++ - fajták = + p --fields = + iaS --extra = + q. inoremap:! ctags -R --c ++ - fajták = + p --fields = + iaS --extra = + q. "OmniCppComplete let OmniCpp_NamespaceSearch = 1 hagyja OmniCpp_GlobalScopeSearch = 1 hagyja OmniCpp_ShowAccess = 1 hagyja OmniCpp_MayCompleteDot = 1 hagyja OmniCpp_MayCompleteArrow = 1 hagyja OmniCpp_MayCompleteScope = 1 hagyja OmniCpp_DefaultNamespaces = [" std ", " _GLIBCXX_STD "]" automatikusan megnyitja és bezárja a felugró menüt / előnézeti ablakot au CursorMovedI, InsertLeave * ha pumvisible () == 0 | néma! pclose | endif set completeopt = menuone, menü, leghosszabb, előnézet 

Ha a címkék csak bizonyos fájlokhoz készültek, akkor a sor elejére való megjegyzéseket fűzhet hozzá. Például, ha nem generáltunk ~ /.vim/tags/gl és ~ / .vim / tags / sdl:

 set tags + = ~ / .vim / tags / stl "set tags + = ~ / .vim / tags / gl" címkék beállítása + = ~ / .vim / tags / sdl set tags + = ~ / .vim / tags / qt4 

Csak mentenünk kell a fájlt, és el kell indítanunk a vim-et, hogy azok tükrözzék a ~ /. Vimrc.

Használat

Minden, amit korábban már megjelöltek (azaz ebben az útmutatóban STL, QT, SDL és OpenGL) már elérhető az automatikus befejezésben. Egyszerűen nyomja meg a ctrl p vagy n gombot. Amint megjelenik a lista, a nyilakkal jelölheti ki a jó javaslatot, majd nyomja meg az enter billentyűt.

Ez azonban nem teljesen befejeződött. Meg kell újítania a fejlesztés alatt álló projektre jellemző szimbólumok (változók, funkciók, típusok ...) címkéit. Ez ismét létrehoz egy címkefájlt. Természetesen minden alkalommal frissíti a fájlt, amikor hozzáad, töröl vagy módosít egy projekt szimbólumot, hogy az aktuális legyen.

Ahogy meglehetősen gyakori, javasoljuk, hogy térképezzen be egy billentyűt a billentyűzeten, hogy elindítsa a ctagok folyamatát. Az általam megadott ~ / .Vimrc példafájlban ezt az F12 megnyomásával biztosítjuk.

linkek

//vim.wikia.com/wiki/C++_code_completion

//www.vim.org/scripts/script.php?script_id=1520

//www.vim.org/scripts/script.php?script_id=2358

Előző Cikk Következő Cikk

Top Tippek