Frage

Ich stoße regelmäßig auf C-Codes ohne Faltung.Insbesondere bei langen Dateien ist es irritierend, sie zu lesen, wenn keine Faltung erfolgt.Wie kann ich sie falten?

War es hilfreich?

Lösung

Zum Einklappen nach Syntax

:set foldmethod=syntax

Wenn Sie wollen, es zu tun manuell auf die Bits, die Sie wollen wegklappen

:set foldmethod=manual

dann neue Falten erstellen, indem Sie / Bewegen und Pressen zf z.

shift-v j j zf

(die Räume zu ignorieren)

Edit:. Siehe auch die Kommentare dieser Antwort für Einzug und Marker foldmethods

Andere Tipps

Ich glaube, Sie die Terminologie gemischt haben. Haben Sie „wrapping“ oder „Faltung“ benötigen. Wrapping ist die, wo Linien, die normalerweise nicht auf dem Bildschirm aufgrund ihrer Länge passen würden, gewickelt werden, dh an mehreren aufeinander folgenden Zeilen auf dem Bildschirm angezeigt (tatsächlich ist es eine Zeile, in mehreren Linien - hart am besten zu erklären, um zu sehen, in Praxis).

In vim Verpackung wird durch

gesetzt
:set wrap

, um ihn einzuschalten, und

:set textwidth=80

, um zu bestimmen, wo vim sollte den Text (80 Zeichen sind in der Regel ein schönes Maß) wickelt.

auf der anderen Seite Folding ist eine ganz andere Sache. Es ist die, wo Vim mehrere Codezeilen Falten (beispielsweise eine Funktion) in eine Codezeile. Es ist nützlich, um die Lesbarkeit des Codes zu erhöhen. Vim mehrere Faltmethoden hat, können Sie alle von ihnen sehen, wenn Sie

:help folding

Was Sie suchen, denke ich wäre, Syntax Falten, aber ich könnte falsch sein. Ich empfehle, die Hilfeseite zu lesen, ist es nicht lange, und sehr nützlich.

Ich habe ein fach-Plugin für C und C ++ . Es geht darüber hinaus, was mit Syntax erfolgt Faltung (kann sie verbessert werden könnte, weiß ich nicht), und läßt weniger laut und nicht wirklich nützliche Dinge, entfaltete, im Vergleich zu Vertiefung und Marker basierend Faltung.

Der Nachteil:., Um anständige Reaktionszeiten zu haben, musste ich einige Vereinfachungen machen, und manchmal ist das Ergebnis ziemlich verkorkst (wir haben zx zu geben, es zu beheben)

Hier ist ein wenig Screencasts zu sehen, wie das Plugin eine richtig ausgewogene C ++ Quellcode Falten, die derzeit nicht geändert werden: (

In vi (im Gegensatz zu vim) lautete die Antwort:

:set wm=1

Dadurch wird der Umbruchrand auf ein Zeichen vor dem Ende der Zeile festgelegt.Dies ist nicht die weltweit beste Spezifikation für Fenster mit variabler Größe (bei Greenscreens machte es Sinn, wenn es schwierig war, die Größe zu ändern).

Das heißt, es gibt auch eine alternative Möglichkeit, dies in vim zu tun:

:set textwidth=30

Sehen: VimDoc-Benutzerhandbuch Abschnitt 25.1

Das wollen Sie wahrscheinlich die Einstellung

:set foldmethod=syntax

Aber das nicht manuell eingegeben! fehlt, das ist auf einem der Vims größter Features aus, die bereits eingebauten Typen benutzerdefinierte Einstellungen für Hunderte von Datei haben. Um das, fügen Sie diese zu Ihrer ~ / .vimrc

filetype plugin on
filetype indent on

Datei des Typs Erkennung ist vor allem auf Erweiterung basiert, in diesem Fall * .c Dateien. Siehe: help: filetype für weitere Informationen. Sie können auch diese Datei des Typs basierend Einstellungen anpassen.

Eigentlich gibt es eine andere sehr geradlinig und effektive Art und Weise, die foldmethod = marker und setzen foldmarker verwendet werden {,}. Dann wird die Falte Ergebnis würde wie folgt aussieht:

  1. alle Funktionen fach-ed. Grundsätzlich sieht es aus wie die Kontur in IDE. (Und Sie können auch mehr set foldlevel=1or, wenn Sie wollen am Anfang nicht falten alles)

  1. das ist, was eine normale Funktion aussieht, wenn Sie es mit Level-1 öffnen über zo.

Zusätzlich kann durch Syntax Falten tun muss ein bisschen mehr Arbeit, und hier ist ein guter Tutorial darüber. Aber ich denke, Falte von marker={,} genug ist, und was am wichtigsten ist, es ist einfach und ordentlich.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top