2010-09-30 18 views
7

Używam cscope do zapoznania się ze wszystkimi słowami kluczowymi używanymi w programowaniu gniazd. Poszedłem do katalogu z plikami c. Użyłem cscope. a następnie szukałem AF_INET. Mam to:Jak korzystać z cscope?

#define AF_FILE   PF_FILE 
#define AF_INET   PF_INET 
#define AF_AX25   PF_AX25 

To była pełna strona. Wydałem tylko część tego. Teraz chcę wiedzieć skąd ten PF_INET nadchodzi? jakiego polecenia powinienem użyć. Widziałem faceta, który dwukrotnie kliknął PF_INEt i użył jakiegoś polecenia, by go znaleźć. Nie wiem, co to za polecenie? Uprzejmie mi pomóż w tym.

Drugą sprawą jest, gdy opuszczę stronę za pomocą polecenia: q. Przychodzę do tej strony:

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: 

tutaj kursor miga na 0. Jeśli chcę znowu szukać czegoś, jak będę robić? Jak nawigować z tego miejsca. Próbowałem google, ale nie mogłem zrozumieć niczego z tutoials. Proszę mi pomóc w tym zakresie, ponieważ jestem kompletnym noobem dla systemu operacyjnego Linux i programowania c. Z góry dziękuję.

+0

Tylko jedna szybka i użyteczna wskazówka: Cscope używa vi jako domyślnego edytora. Co oznacza brak kolorów, podświetlanie składni ... Aby to zmienić i użyć VIM zamiast: eksportuj CSCOPE_EDITOR = vim – pbn

Odpowiedz

10

Zgadzam się, że dokumentacja cscope nie jest bardzo jasna.

Użyj zakładki, aby przejść do części interaktywnej. Wpisz swoją nazwę symbolu w "znajdź ten symbol C" lub "Znajdź ten wzór egrep" i zatwierdź naciśnięcie RETURN.

Jeśli chcesz go nazwać z vim, wpisz :help if_cscop.txt; mając nadzieję, że to pomoże!

:cscope add your_cscope_database 
:cscope find s [your_symbol] 

Spowoduje to utworzenie nowej listy quickfix. użyj :cn i :cp do nawigacji, :cnf i :cpf, aby nawigować z pliku do pliku w wynikach, i :colder i :cnewer, aby przywrócić poprzednie listy quickfix.

+0

Wielkie dzięki kolego. Dostałem odpowiedź na moje drugie pytanie. ale czy możesz mi powiedzieć, jak wyszukać to słowo tak, jak wspomniałem w moim pytaniu, dwukrotnie kliknąć słowo i wydać polecenie, aby znaleźć to słowo. Co to za polecenie? – narayanpatra

+0

w Vim? Nie klikaj dwukrotnie. Ustaw kursor na tym słowie i wpisz: cscope find s . Możesz zmienić go za pomocą: noremap : cscope znaleźć s (to będzie mapować F3 do niego). – Benoit

11

Aby zamknąć interaktywny monit od cscope, wpisz Ctrl-d. Jeśli chcesz tylko odbudować bazę danych cscope i nie wywołać interaktywnego monitu cscope, przekaż mu opcję -b. Zazwyczaj wywołuję cscope jako cscope -bcqR.

Co do skakania w vimie przy użyciu cscope, to naprawdę zależy od konfiguracji vima.

Najprawdopodobniej skocz do tagu (Ctrl-]) użyje najpierw cscope, następnie ctags (patrz :help cst i :help csto). Użyj numeru Ctrl-T, aby wrócić.

Istnieje kilka przydatnych odwzorowań dla cscope, które można znaleźć wpisując :help cscope-suggestions w vim. Po dodaniu tych odwzorowań do .vimrc, będzie w stanie przeskoczyć do symboli z wykorzystaniem Ctrl-_ s funkcja telefonicznej za pomocą Ctrl-_ c, etc ...

można uzyskać dostęp do dokumentacji Cscope VIM poprzez wpisanie :help cscope.

0

ja tylko Najczęściej następuje. Są one bardzo podstawowe, aby zrozumieć cscope.

  1. "cscope -R" Następnie otrzymasz opcje.
  2. Naciśnij strzałkę w dół. Następnie przejdziesz do wymaganej opcji.Wpisz cokolwiek chcesz w odpowiedniej opcji.
  3. Z wyników wyszukiwania. Użyj strzałek (w górę i w dół), a następnie naciśnij "Enter key", aby wyświetlić szczegółowy plik.
  4. ": q", aby wyjść z pliku.
  5. Naciśnij "Klawisz tabulatora", aby przejść do opcji cscope.
  6. "ctrl + d", aby wyjść z cscope.