vimcscope

How to use cscope?


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?

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?


Solution

  • 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.