Какой рейтинг вас больше интересует?
|
vim + cscope quick howto & tips2011-07-05 23:44:26 (читать в оригинале)Если вы не программируете на Си и не используете для этого vim, дальше можно не читать. Если вы пользуетесь тегами ( ctags ) в vim , то вы, конечно, знаете, что с их помощью можно по Ctrl-] прыгать с места, где вызывается функция, на место, где она определена (и по Ctrl-T прыгать обратно). Это удобно и здорово, и не только для функций работает, но и, скажем, для структур.Иногда, однако, хочется прыгать в другую сторону -- в место (места), где эта функция используется (вызывается). Для этого ctags не подходит, а подходит cscope . vim тоже умеет интегрироваться с cscope , но есть нюансы. Например, не нашлось комбинации клавиш для "прыганья", и читать базу cscope (файлик cscope.out ) при настройках по умолчанию (vim-7.3, Fedora 14) vim хочет только из текущего каталога (а хочется ещё и из каталога этажом выше, или двумя этажами выше). Что касается комбинации клавиш, я не придумал ничего лучше, как использовать соседнюю с Ctrl-] , а именно Ctrl-\ . Они рядом, в этом есть логика. Обратно прыгаем точно так же, как и с тегами, по Ctrl-T .Решить обе вышеописанные проблемы получилось вот таким кусочком заклинаний для ~/.vimrc :" CScope if has("cscope") " Ctrl-\ does reverse search (i.e. "who calls this function") nmap :cscope find c <c-r>=expand("<cword>")<cr><cr> set nocsverb if filereadable("../cscope.out") cs add ../cscope.out .. elseif filereadable("../../cscope.out") cs add ../../cscope.out ../.. endif set csverb endif Что ещё? Базу для cscope можно сгенерить командой cscope -R -b , находясь в корне исходников проекта. В общем, больше ничего и не надо.
|
Категория «Мобильная техника»
Взлеты Топ 5
Падения Топ 5
Популярные за сутки
|
Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.
взяты из открытых общедоступных источников и являются собственностью их авторов.