Как использовать cscope? - PullRequest
       21

Как использовать cscope?

10 голосов
/ 30 сентября 2010

Я использую cscope, чтобы ознакомиться со всеми ключевыми словами, используемыми в программировании сокетов.Я пошел в каталог с файлами c.Я использовал cscope.а потом я искал AF_INET.Я получил это:

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

Это была полная страница.Я опубликовал только часть этого.Теперь я хочу знать, откуда этот PF_INET?какую команду я должен использовать.Я видел парня, который дважды щелкнул PF_INEt и использовал какую-то команду, чтобы найти его.Я не знаю, что это за команда?Пожалуйста, помогите мне в этом.

Во-вторых, когда я покидаю страницу командой: q.Я захожу на эту страницу:

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:

здесь курсор мигает на 0. Если я хочу снова что-то искать, как я буду делать?Как ориентироваться здесь.Я пытался гуглить, но ничего не понял из уроков.Пожалуйста, помогите мне в этом отношении, так как я полностью готов к работе с операционной системой Linux и программированием.Заранее спасибо.

Ответы [ 4 ]

14 голосов
/ 30 сентября 2010

Я согласен, что документация cscope не очень понятна.

Используйте вкладку, чтобы перейти к интерактивной части.Введите имя вашего символа в «найти этот символ C» или «найти этот шаблон egrep» и подтвердите нажатием RETURN.

Если вы хотите вызвать его из vim, введите :help if_cscop.txt;надеясь, что это поможет!

:cscope add your_cscope_database
:cscope find s [your_symbol]

Это создаст новый список быстрых исправлений.используйте :cn и :cp для навигации, :cnf и :cpf для перехода от файла к файлу в результатах, а также :colder и :cnewer для восстановления предыдущих списков быстрого исправления.

13 голосов
/ 02 октября 2010

Чтобы выйти из интерактивного приглашения cscope, введите Ctrl-d. Если вы просто хотите перестроить базу данных cscope и не вызывать интерактивное приглашение cscope, передайте ей параметр -b. Я обычно называю cscope как cscope -bcqR.

Что касается перехода в vim с помощью cscope, то это действительно зависит от вашей конфигурации vim.

Скорее всего, переход к тегу (Ctrl-]) будет сначала использовать cscope, а затем ctags (см. :help cst и :help csto). Используйте Ctrl-T, чтобы вернуться.

Есть несколько полезных сопоставлений для cscope, которые вы можете найти, набрав :help cscope-suggestions в vim. После добавления этих сопоставлений в ваш .vimrc вы сможете переходить к символам, используя Ctrl-_ s, вызывающую функцию - Ctrl-_ c и т. Д.

Вы можете получить доступ к документации по vim, набрав :help cscope.

6 голосов
/ 07 марта 2018

Я в основном использую следующее.Они очень просты для понимания cscope.

  1. "cscope -R" Тогда вы получаете варианты.
  2. Нажмите стрелку вниз.Затем вы перейдете к нужному вам варианту.Введите то, что вы хотите в соответствующей опции.
  3. Из результатов поиска.Используйте стрелки (вверх и вниз), затем нажмите «клавишу ввода» для просмотра подробного файла.
  4. «: q» для выхода из файла.
  5. Нажмите «Клавиша вкладки», чтобы перейти кОпции cscope.
  6. "ctrl + d" для выхода из cscope.
0 голосов
/ 26 августа 2016

Краткое руководство для начинающих: http://cscope.sourceforge.net/cscope_vim_tutorial.html

...