Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
CTags für Vim bauen / Omnicpp: Wie?
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
musv
Advocate
Advocate


Joined: 01 Dec 2002
Posts: 3333
Location: de

PostPosted: Sun Jan 13, 2013 9:12 am    Post subject: CTags für Vim bauen / Omnicpp: Wie? Reply with quote

Guten Morgen,

momentan bastel ich gerade daran, Vim in eine brauchbare IDE umzuwandeln. Dazu hab ich mir Omnicpp installiert. Meine /etc/vim/vimrc.local sieht so aus (Omnicpp-Bereich):
Code:
set nocp         "VI-Kompatbilität deaktivieren
set number         "Zeilennummern anzeigen
syntax on         "Syntax-Highlighting Defaultfarben

" --- OmniCppComplete ---
" auto close options when exiting insert mode
 au CursorMovedI,InsertLeave * if pumvisible() == 0|silent! pclose|endif
 set completeopt=menu,menuone,longest,preview
 let OmniCpp_NamespaceSearch = 2 " search namespaces in this and included files
 let OmniCpp_GlobalScopeSearch = 1
 let OmniCpp_ShowAccess = 1
 let OmniCpp_ShowPrototypeInAbbr = 1 "Funktionsparameter anzeigen
 let OmniCpp_MayCompleteDot = 1 " autocomplete with .
 let OmniCpp_MayCompleteArrow = 1 " autocomplete with ->
 let OmniCpp_MayCompleteScope = 1 " autocomplete with ::
 let OmniCpp_SelectFirstItem = 2 " select first item (but don't insert)

" Tags einbinden
set tags+=/usr/share/vim/tags/tags


So, und jetzt geht's daran, die Tags zu bauen. Das gestaltet sich etwas schwieriger. Der Befehl ist dafür:
Beispiel qt4:
ctags –R --c++-kinds=+p --fields=+iaS --extra=+q /usr/include/qt4 qt4


Will man die Tags für c++ haben, wird man immer darauf verwiesen, sich das stdc++-Paket zu ziehen und daraus die ctags zu bauen.

eix stdc++:
* sys-libs/libstdc++-v3
     Available versions:  (5) 3.3.6 (~)3.3.6-r1
   {{multilib nls}}
     Homepage:            http://gcc.gnu.org/libstdc++/
     Description:         Compatibility package for running binaries linked against a pre gcc 3.4 libstdc++

* sys-libs/libstdc++-v3-bin
     Available versions:  *3.3.6^s
     Homepage:            http://gcc.gnu.org/libstdc++/
     Description:         Compatibility package for running binaries linked against a pre gcc 3.4 libstdc++

* virtual/libstdc++
     Available versions:  (3.3) 3.3
     Description:         Virtual for the GNU Standard C++ Library for <gcc-3.4

Ich wollte schon gern die ctags für gcc 4.7 haben, die ja zweifelsohne irgendwo in /usr/include enthalten sein müssen.

Ok, dann kam der Brute-Force-Ansatz:
Code:
ctags –R --c++-kinds=+p --fields=+iaS --extra=+q /usr/include/ tags

Das erzeugt mir ein 3,8GB großes Tag-File mit allen Tags in /usr/include. Funktioniert auch prächtig. Sobald ich:
Code:
std::

eintipp, wird mir im Vim eine ewig lange Auswahlliste angefangen mit Boost vorgegeben. Tipp ich dann cou ein, seh ich keine Ergebnisse mehr. std::cout scheint es nicht zu geben. Nein, das wurde nicht aus c++ entfernt.

Lange Rede, kurzer Sinn. Wie kann ich die ctags für c++ aus meiner aktuellen Gentoo-Installation generieren?
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5161

PostPosted: Sun Jan 13, 2013 10:18 am    Post subject: Reply with quote

Der GCC liefert eine libstdc++ mit. Die pakete im portage sind nur compatibility pakete für progamme, welche mit dem gcc < 4.x compiliert wurden.
die liegen nicht unter /usr/include, sondern unter
Code:
/usr/lib64/gcc/x86_64-pc-linux-gnu/<version>/include


was ein qlist gcc:4.7 dir verraten hätte...
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
musv
Advocate
Advocate


Joined: 01 Dec 2002
Posts: 3333
Location: de

PostPosted: Sun Jan 13, 2013 7:35 pm    Post subject: Reply with quote

Hast natürlich recht. Hab ich dann auch gemacht. War trotzdem nicht der Bringer, denn da wurde dann auch java mit eingebunden, da ich gcc mit dem Java-Useflag compiliert hab. Ein paar andere Sachen waren ebenfalls noch mit drin, die mir nicht zugesagt haben.

Ich hab dann omnicppcomplete komplett runtergeschmissen und clang_complete + Supertab installiert. Sieht nach den ersten Tests nach dem aus, was ich gesucht hab.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum