Gehe zur nächsten Falte von Level 1 in vim

702
Caetano Sauer

Ich suche nach einer guten Möglichkeit, zwischen Funktionsdefinitionen in C ++ - Code zu springen. Ich mag die Idee, Falten dafür zu verwenden, weil ich mit der nächsten Funktion / Methode weitergehen kann zj, aber das funktioniert nur, wenn sich keine verschachtelten Falten in den Funktionen befinden (z. B. durch Setzen foldnestmax=1).

Gibt es eine Möglichkeit, vim mitzuteilen, dass es zur nächsten Falte von Level 1 gehen soll, damit ich problemlos zur nächsten Methode wechseln kann?

Hinweis: Ich weiß über ]mund [mund es ist nicht das, wonach ich suche. Ich würde eine faltenbasierte Lösung bevorzugen.

Vielen Dank!

1

1 Antwort auf die Frage

2
romainl

Sie können set foldnestmax=1vorübergehend zur nächsten Falte wechseln und die Option auf ihren ursprünglichen Wert zurücksetzen:

: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>