Перейти к следующей складке уровня 1 в vim

671
Caetano Sauer

Я ищу хороший способ перейти между определениями функций в коде C ++. Мне нравится идея использовать сгибы для этого, потому что я могу перейти к следующей функции / методу, используя это zj, но это работает, только если внутри функций нет вложенных сгибов (например, путем установки foldnestmax=1).

Есть ли способ сказать vim "перейти к следующей складке уровня 1", чтобы я мог легко перейти к следующему методу?

Примечание: я знаю о, ]mи [mэто не то, что я ищу. Я бы предпочел складное решение.

Спасибо!

1

1 ответ на вопрос

2
romainl

You can set foldnestmax=1 temporarily, move to next fold and set the option back to its original value:

:nnoremap <silent> zj :let max = &fdn<bar>let &fdn = 1<CR>zj:let &fdn=max<CR> :nnoremap <silent> zk :let max = &fdn<bar>let &fdn = 1<CR>zk:let &fdn=max<CR>