Portál AbcLinuxu, 10. května 2025 11:51
Řešení dotazu:
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..
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í řádkyset 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é.
set tags=./tags,./TAGS,tags,TAGSje 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
.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.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.