Recomand cscope, e un pic mai avansat decat ctags.<br><br>Un script util pt cscope de adaugat in .bashrc:<br>&lt;pre&gt;<br>function gen-cscope<br>{<br>    find &quot;${@:-.}&quot; -iregex &#39;.*\.\(c\|h\|cpp\|hpp\|cc\|hh\|cxx\|hxx\|py\)&#39; | cscope -b -i-<br>
}<br>&lt;/pre&gt;<br><br>Ce face? Cauta toate sursele cu extensiile alea si construieste baza de date cu tag-uri din ele. De executat in radacina proiectului.<br>Apoi puneti-va asta in .vimrc:<br><br>&lt;pre&gt;<br>if has(&quot;cscope&quot;)<br>
        &quot; Look for a &#39;cscope.out&#39; file starting from the current directory,<br>        &quot; going up to the root directory.<br>        <br>        let s:dirs = split(getcwd(), &quot;/&quot;)<br>        while s:dirs != []<br>
                let s:path = &quot;/&quot; . join(s:dirs, &quot;/&quot;)<br>                if (filereadable(s:path . &quot;/cscope.out&quot;))<br>                        execute &quot;cs add &quot; . s:path . &quot;/cscope.out &quot; . s:path . &quot; -v&quot;<br>
                        break<br>                endif<br>                let s:dirs = s:dirs[:-2]<br>        endwhile<br><br>        set csto=0<br>        set cst<br>        set csverb<br><br>        nmap &lt;C-\&gt;s :cs find s &lt;C-R&gt;=expand(&quot;&lt;cword&gt;&quot;)&lt;CR&gt;&lt;CR&gt;<br>
        nmap &lt;C-\&gt;g :cs find g &lt;C-R&gt;=expand(&quot;&lt;cword&gt;&quot;)&lt;CR&gt;&lt;CR&gt;<br>        nmap &lt;C-\&gt;c :cs find c &lt;C-R&gt;=expand(&quot;&lt;cword&gt;&quot;)&lt;CR&gt;&lt;CR&gt;<br>        nmap &lt;C-\&gt;t :cs find t &lt;C-R&gt;=expand(&quot;&lt;cword&gt;&quot;)&lt;CR&gt;&lt;CR&gt;<br>
        nmap &lt;C-\&gt;e :cs find e &lt;C-R&gt;=expand(&quot;&lt;cword&gt;&quot;)&lt;CR&gt;&lt;CR&gt;<br>        nmap &lt;C-\&gt;f :cs find f &lt;C-R&gt;=expand(&quot;&lt;cfile&gt;&quot;)&lt;CR&gt;&lt;CR&gt;<br>        nmap &lt;C-\&gt;i :cs find i ^&lt;C-R&gt;=expand(&quot;&lt;cfile&gt;&quot;)&lt;CR&gt;$&lt;CR&gt;<br>
        nmap &lt;C-\&gt;d :cs find d &lt;C-R&gt;=expand(&quot;&lt;cword&gt;&quot;)&lt;CR&gt;&lt;CR&gt;<br><br>        map &lt;F10&gt; :copen&lt;CR&gt;<br>        map &lt;F11&gt; :cprevious&lt;CR&gt;<br>        map &lt;F12&gt; :cnext&lt;CR&gt;<br>
<br>        &quot; Open a quicfix window for the following queries.<br>        set cscopequickfix=s-,c-,d-,i-,t-,e-,g-<br>endif<br>&lt;/pre&gt;<br><br>Ce face?<br>1) cand editati un fisier, cauta si incarca automat fisierul cu taguri incepand cu directorul curent si continuand in sus.<br>
2) multe scurtaturi utile (exemplu: Ctrl + \ urmat de s contruieste o lista cu toate locatiile unde e folosit simbolul de pe cursor).<br><br>Cosmin.<br><br>PS: emacs sucks!<br><br>