Как перейти от одной функции C / C ++ к следующей (в обоих направлениях) - PullRequest
6 голосов
/ 31 августа 2009

Я просто хочу перейти от одной функции к другой в файлах .c / .cpp. Как мне это сделать?

Ответы [ 5 ]

9 голосов
/ 31 августа 2009

Полагаю, вы ищете ]], который переходит к следующему { символу в первом столбце.

Существуют похожие варианты, просто попробуйте :help ]] для получения дополнительной информации.

7 голосов
/ 31 августа 2009

Что касается использования [[и]], обратите внимание на следующее из файла motion.txt в vim docs:


If your '{' or '}' are not in the first column, and you would like to use "[["
and "]]" anyway, try these mappings:
   :map [[ ?{w99[{
   :map ][ /}b99]}
   :map ]] j0[[%/{
   :map [] k$][%?}
3 голосов
/ 25 февраля 2017

Я использую эти отображения, которые заставят [[и]] работать с функциями, которые не помещают начало {в начало строки.

map ]] :call search("^\\(\\w.*\\)\\?{")<CR>
map [[ :call search("^\\(\\w.*\\)\\?{", "b")<CR>
map ][ :call search("^}")<CR>
map [] :call search("^}", "b")<CR>
2 голосов
/ 23 сентября 2018

Просто используйте ]m для перехода к следующему методу, [m для перехода к предыдущему методу.

В вашем ~/.vimrc вы можете сделать

nnoremap ]m ]mzz

nnoremap [m [mzz

так что каждый раз, когда вы переходите между методами, вы помещаете метод в центр экрана.

1 голос
/ 31 августа 2009

Взгляните на exuberant-ctags, который работает с Emacs, и ваш "vim"; -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...