On 05/10/13 22:32, Ethan Hereth wrote:
Hey vim_use!

I've been a subscriber for quite a while now and thoroughly enjoy watching you 
experts at work. I've also been a vim user for some time and consider myself 
decently proficient with it although I've done very little scripting with it. I 
have had cscope on my TODO list for a while and finally sat down today to 
figure it out. I think I'll find its functionality very useful in my day to day 
use of vim.

I bet many of you use cscope every day and have developed nice shortcuts that 
make its use easy and quick. I have read the cscope page on vim.wikia.com and 
looked at the standard cscope_maps.vim settings that you can get from 
sourceforge (there seem to be mirrors of it everywhere...)

The thing is that I'm not sold on the maps/commands that I've seen so far. I've 
glanced on github as well but didn't find much there that tickled my fancy 
either. I have RTFM and think I understand everything there. I like how it 
works with ctags as well.

So, my question for everyone is: can you share with me the maps, habits, 
functions, etc. that you've developed over time to streamline your used of 
cscope within vim. I would love to see these. Really, I would love to get any 
advice you'd be willing to offer up about it.

I also was wondering if there is a easy way to make ctrl-]  also jump to a 
source file (like stdio.h) if the cursor happened to be on a filename instead 
of a valid tag. (Does this even make sense to do?)


Thank you all in advance for your input!

I mostly use cscope in relation with the Vim source.

The cscope database must be regenerated from time to time, or the quickfix lists generated by :cscope find will get out of step with the code.

On Unix-like platforms, I recommend doing that after compiling Vim at least once, so that auto-generated sources have been generated.

To build the database, I run the following command in the src/ source directory:

cscope -bv ./*.[ch] ./*.cpp ./if_perl.xs auto/*.h auto/pathdef.c proto/*.pro


In Vim, I have the following "aids" in my vimrc for cscope (some of the lines are quite long; I hope your mailer or mine won't mess them up):


if has('cscope')
        set cst
        if has('quickfix')
                set csqf=s-,c-,d-,i-,t-,e-
        endif
        if version < 700
                cnoreabbrev csa cs add
                cnoreabbrev csf cs find
                cnoreabbrev csk cs kill
                cnoreabbrev css cs show
                cnoreabbrev csh cs help
        else
cnoreabbrev <expr> csa ((getcmdtype() == ':' && getcmdpos() <= 4)? 'cs add' : 'csa') cnoreabbrev <expr> csf ((getcmdtype() == ':' && getcmdpos() <= 4)? 'cs find' : 'csf') cnoreabbrev <expr> csk ((getcmdtype() == ':' && getcmdpos() <= 4)? 'cs kill' : 'csk') cnoreabbrev <expr> css ((getcmdtype() == ':' && getcmdpos() <= 4)? 'cs show' : 'css') cnoreabbrev <expr> csh ((getcmdtype() == ':' && getcmdpos() <= 4)? 'cs help' : 'csh')
        endif
        command -bar Cscope cs add $VIMSRC/src/cscope.out $VIMSRC/src
        set csverb
endif

where $VIMSRC has been defined earlier in my vimrc as the top-level directory of my Vim repository clone (the parent of .hg, src, runtime, etc.)


Best regards,
Tony.
--
Screw up your courage!  You've screwed up everything else.


--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to