2009-03-23 8 views
16

Wenn ich in der Mitte der Funktion bin, möchte ich bis zum Ende in Vim gehen. Ich stoße auf dieses Problem, da wir manchmal eine Funktion von mehr als 500 Zeilen haben (frag nicht warum).Gehe zum Ende der C++ Funktion in Vim

Ich benutze vim, gvim.

Antwort

18

Sie können den Befehl "]}" verwenden. Je nachdem, wie verschachtelt Sie sind, müssen Sie es möglicherweise wiederholen.

+1

Das OP möchte vielleicht auch den Befehl '%' untersuchen, der zur öffnenden oder schließenden Klammer/Klammer/Klammer springt, die mit dem gepaart ist, was sich unter dem Cursor befindet. – rmeador

+0

Ja,% ist auch nützlich, aber nicht für einen schnellen Sprung aus einer großen Funktion. – jthompson

+5

Sie könnten auch an [[und]] interessiert sein, sie bringen Sie zum Anfang einer Funktion oder zum Start der nächsten Funktion. – Amjith

11

] [oder [] wird dies für Sie tun.

+1

aber nur, wenn die öffnenden und schließenden geschweiften Klammern der Funktion das erste Zeichen in der Zeile sind. –

30

][ geht zum nächsten '}' in der ersten Spalte.

Lesen Sie :help 29.3, um mehr über das Durchlaufen eines Programms zu erfahren.

+0

Ich fand Ihre Lösung generischer als die akzeptierte Lösung, weil die akzeptierte Lösung bei mir nicht in JavaScript funktionierte. – Rafid

+0

Obwohl es darüber nachdenkt, wenn es zum nächsten '}' in der ersten Spalte geht, könnte es Schwierigkeiten mit verschachtelten Funktionen geben. – Rafid

2

Stellen Sie sicher, dass Sie: Split und Code Falten zu Ihrem Vorteil - halten Sie eine gefaltete Ansicht am oberen Rand des Bildschirms, entfalten Sie eine Funktion, teilen, bearbeiten Sie die Funktion, schließen Sie das geteilte Fenster, reduzieren Sie die Falte.

+0

Dieser ist auch gut, aber um ehrlich zu sein, habe ich Vim bisher nicht so gerne gefaltet, ich fühle es einfach schwer, wahrscheinlich muss ich etwas Zeit damit verbringen, darüber zu lesen, was ich leider nicht habe. Hast du einen schnellen Vorschlag, um mich so zu mögen? :-) – Rafid

1

UMSCHALT + 5 schaltet zwischen {und} um. Sie können damit den obersten Codeblock identifizieren.

+2

Ich glaube, das ist% was verschiebt :-) – MighMoS

+1

Ja ... aber um es einfacher zu machen habe ich diesen Ansatz verwendet :) – Shree

+0

@MighMoS, scheint dies für bestimmte Fälle besser zu sein, weil '%' nur funktioniert, wenn Sie sind auf der Halterung. – Rafid

Verwandte Themen