Az autocompletion C / C + + vimben
- 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