问题
I am using cscope to get familiar with all the keywords used in socket programming. I went to the directory with c files. I used cscope. and then I searched for AF_INET. I got this :
#define AF_FILE PF_FILE
#define AF_INET PF_INET
#define AF_AX25 PF_AX25
This was a full page. I only published part of it. Now I want to know from where this PF_INET is coming? what command I should use. I have seen a guy to double click on PF_INEt and using some command to find it. I don't know what the command is? Kindly help me in this.
The second thing is when i quit the page with :q command. I come to this page :
Global definition: AF_INET
File Line
0 socket.h 119 #define AF_INET PF_INET
Find this C symbol:
Find this global definition:
Find functions called by this function:
Find functions calling this function:
Find this text string:
Change this text string:
Find this egrep pattern:
Find this file:
Find files #including this file:
here the cursor is blinking at 0. If I want to search again something, how I will do? How to navigate from here. I tried to google it but unable to understand anything from the tutoials. Please help me in this regard as I am complete noob to linux operating system and c programming. Thanks in advance.
回答1:
I agree that cscope documentation is not very clear.
Use tab to move to the interactive part. Type your symbol name in “find this C symbol” or “Find this egrep pattern” and validate pressing RETURN.
If you want to call it from vim, type :help if_cscop.txt; hoping it helps!
:cscope add your_cscope_database
:cscope find s [your_symbol]
This will make a new quickfix list. use :cn and :cp to navigate, :cnf and :cpf to navigate from file to file in the results, and :colder and :cnewer to restore previous quickfix lists.
回答2:
To exit from cscope interactive prompt, type Ctrl-d. If you just want to rebuild cscope's database, and not invoke cscope's interactive prompt, pass it the -b option. I usually invoke cscope as cscope -bcqR.
As for jumping around in vim using cscope, it really depends on your vim config.
Most probably, jump to tag (Ctrl-]) will use cscope first, then ctags (see :help cst and :help csto). Use Ctrl-T to go back.
There are some useful mappings for cscope that you can find by typing :help cscope-suggestions in vim. After adding those mappings to your .vimrc, you will be able to jump to symbols using Ctrl-_ s, the calling function using Ctrl-_ c, etc...
You can access vim's cscope documentation by typing :help cscope.
回答3:
I mostly use the following. These are very basic to understand the cscope.
- "cscope -R" Then you get options.
- Press down arrow. Then you will move to your required option. Type whatever you want at the respective option.
- From the search result. Use arrows(Up and down) then Press "enter key" to see the detailed file.
- ":q" to exit from the file.
- Press "Tab key" to come to the cscope options.
- "ctrl + d" to exit from the cscope.
回答4:
Brief tutorial for beginners: http://cscope.sourceforge.net/cscope_vim_tutorial.html
来源:https://stackoverflow.com/questions/3828157/how-to-use-cscope