Portál AbcLinuxu, 10. května 2025 11:51

Dotaz: Jak zprovoznit doplnování kódu ve VIMu?

19.5.2009 15:30 Tomáš | skóre: 7
Jak zprovoznit doplnování kódu ve VIMu?
Přečteno: 379×
Odpovědět | Admin
Pokouším se o to už druhý den pomocí různých návodů, ale zatím se mi to nepovedlo rozjet. Mám snad i naskenovaný dobře tagy, doplněný .vimrc, ale nic. Nemá někdo opravdu spolehlivý a jasný návod, jak to nastavit?

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Tarmaq avatar 19.5.2009 16:22 Tarmaq | skóre: 39
Rozbalit Rozbalit vše Re: Jak zprovoznit doplnování kódu ve VIMu?
Odpovědět | | Sbalit | Link | Blokovat | Admin
na vytvoreni souboru s tagy pouzivam exuberant ctags. pomoci tohoto programu se vytvori soubor tags, ktery vim pouziva pro doplnovani. Zkus napsat konkretne co ti nefunguje. Pro doplnovani pouzivas CTRL-N? Nedoplnuje to vubec (ani texty ktere jsou v nekterem z otevrenych bufferu), nebo jen zdroje ze souboru tags? Zkus to proste vic rozepsat..
Don't panic!
19.5.2009 16:56 Tomáš | skóre: 7
Rozbalit Rozbalit vše Re: Jak zprovoznit doplnování kódu ve VIMu?
ctags jsem použil takto: ctags -R --c++-kinds=+p --fields=+iaS --extra=+q a vytvořilo to tento soubor. Ve .vimrc jsem přidal následující řádky

set nocp
filetype plugin on
set tags=tags

A výsledek je ten, že to vždycky napíše "PATTERN NOT FOUND". Jinak pro doplnování jsem zkoušel CTRL-X, CTRL-O. Krom toho se to taky při referencích s tečkou vyvolává samo. To taky nefunguje a hlásí to to samé.
Tarmaq avatar 20.5.2009 12:06 Tarmaq | skóre: 39
Rozbalit Rozbalit vše Re: Jak zprovoznit doplnování kódu ve VIMu?
ja mam tags nastaveny nejak takto:
set tags=./tags,./TAGS,tags,TAGS
je dulezite, aby cesta odpovidala.. tzn. kdyz mas otevreny vim, a napises :pwd, tak ten soubor tags musi byt v te nastavene ceste, coz v tvem pripade znamena, ze se musi nachazet v :pwd.
Nemel by snad byt problem mit v te ceste ten soubor psany s absolutni cestou - pak ho vim najde, at si ho otevres kdekoliv..
Don't panic!
20.5.2009 20:34 Tomáš | skóre: 7
Rozbalit Rozbalit vše Re: Jak zprovoznit doplnování kódu ve VIMu?
Tak ted už mi nabídka vyjíždí, ale obsahuje z toho souboru i každý slovo komentáře a každý slovo ze souboru tags a je to hrozně nepřehledný. Vůbec se s tim nedá pracovat. A navíc to nenapovídá tak, jak by mělo. Čekal bych, že když přistupuju do struktury, tak mi to nabídne věci té struktury, ale místo toho se mi tam hodí třeba "cout". Funguje to jen v případě, že napíšu třeba začátek toho slova a ono ho to pak vyfiltruje, ale jinak ne. Což není úplně nejlepší doplnění a docela to trvá...
Řešení 1× (Tomáš (tazatel))
21.5.2009 11:01 Tomáš K.
Rozbalit Rozbalit vše Re: Jak zprovoznit doplnování kódu ve VIMu?

Tagy jsou imho v pořádku, problém je kdesi v doplňovací funkci. Doplňování řeší plugin OmniCppComplete Mám pocit, že ve vimu 7.0 byl integrován přímo do vimu, ale 100% to nevím - sám jsem ho instaloval ještě před verzí 7.0. Zkus ověřit, jestli ho máš nainstalovaný případně ho nainstalovat. Zkontroluj, jestli máš nastavenou správně doplňovácí funkci (:set omnifunc). U mě (C, nikoliv C++) má hodnotu omnifunc=omni#cpp#complete#Main. Pokud není nastavena, chová se mi to stejně jako popisuješ - neví, co doplňoat a bere každé slovo. Pokud jí nastavím, začnou se mi nabízet jen prvky struktur. 


Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.