Besonders beim Bearbeiten von Legacy-C ++ - Code finde ich mich oft manuell neu formatieren:
%Vor%zu etwas wie diesem:
%Vor% Gibt es dafür einen eingebauten Befehl? Wenn nicht, kann jemand ein Plugin vorschlagen oder einen VimScript-Code dafür bereitstellen? ( J
oder gq
kann den Prozess sehr einfach umkehren, sodass es nicht in beide Richtungen gehen muss.)
Sie können splitjoin verwenden.
%Vor% Geben Sie in oder in Klammern gS
zum Teilen ein. Du bekommst:
Sie können auch vim-argwrap
verwenden Folgendes habe ich in meine .vimrc
geschrieben. Es ist flexibler als die Antwort von @rbernabe; Die Formatierung basiert auf den globalen Einstellungen cinoptions
und setzt Kommas einfach auseinander (und kann daher bei Bedarf für mehr als nur Funktionen verwendet werden).
Damit wird F2 im normalen Modus und im Einfügemodus auf die aktuelle Zeile, die alle Kommas (mit 0 oder mehr Leerzeichen nach jedem Zeichen) in Kommas mit einem Wagenrücklauf nach jedem Zeichen konvertiert, gesucht und ersetzt. Wählt dann die gesamte Gruppe aus und fügt sie mit dem integrierten Vim-Befehl =
ein.
Ein bekanntes Manko dieser Lösung ist für Linien, die mehrere Template-Parameter enthalten (es bricht auch ihre Kommas und nicht nur die Kommata der normalen Parameter).
Ich würde ein Register auf ein voreingestelltes Makro setzen. Nach einigen Tests bekam ich folgendes:
%Vor% Mit dieser Zeile in Ihrem vimrc können Sie die Methoden formatieren, indem Sie das Makro x: @x
mit dem Cursor über der zu formatierenden Zeile ausführen. Es fügt 12 Leerzeichen für die Einrückung hinzu:
Nach dem Ausführen des Makros: @x
Sie erhalten
Wenn Sie in der Zeile der Funktionsdefinition sind, können Sie einfach einen Ersatz vornehmen:
%Vor%Was ist einfach in ein Mapping zu setzen:
%Vor%Tags und Links arguments vim formatting