30 Stimmen

Wie reiht man in Emacs Gleichheitszeichen in einer Reihe von Initialisierungsanweisungen aneinander?

Ich habe das irgendwo gesehen, kann es aber nicht mehr finden. Gibt es eine eingebaute Funktion in emacs, oder hat jemand elisp, um alle Gleichheitszeichen in einer Reihe von Initialisierungsstatements im cc-Modus aneinanderzureihen?

Vorher:

int t=9;
Graphics g = new Graphics();
List<String> list = new List<String>();

Danach:

int          t    = 9;
Graphics     g    = new Graphics();
List<String> list = new List<String>();

46voto

ShreevatsaR Punkte 37033

Utilisez M-x align-regexp (hier, M-x align-regexp RET = RET ). Sie können der Variablen auch eine "Ausrichtungsregel" hinzufügen align-rules-list so dass in Zukunft M-x align wird es tun. Siehe die Dokumentation ( C-h f align ) für Einzelheiten.

18voto

phils Punkte 68556

Dies ist eine Antwort auf den Kommentar von harpo zur Antwort von ShreevatsaR:

Das einzige Problem dabei ist, dass die Ausgabe "tabelliert" wird, was wahrscheinlich nicht das ist, was Sie wollen. Kennen Sie eine Möglichkeit, dies zu verhindern?

Ich habe das Problem folgendermaßen gelöst:

;; Align with spaces only
(defadvice align-regexp (around align-regexp-with-spaces)
  "Never use tabs for alignment."
  (let ((indent-tabs-mode nil))
    ad-do-it))
(ad-activate 'align-regexp)

7voto

Nathaniel Flath Punkte 14704

M-x align sollte das Problem lösen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X