Emacs - spezifische Anpassung des Bracket-Verhaltens

505
mellowmaroon

Bei emacs bevorzuge ich das Verhalten im E-Pair-Modus für Klammern und Klammern gegenüber dem "sprunghaften" Standardverhalten.

Ich verwende derzeit jedoch Auto-Newline und mag die automatischen Zeilenumbrüche, die mit den geschweiften Klammern eingefügt werden (ich benutze die BSD-Stileinrückung).

Ich möchte herausfinden, wie ich diese Verhaltensweisen am besten kombinieren kann, so dass, wenn ich eine öffnende geschweifte Klammer eingebe, eine eingerückte Linie und eine schließende Klammer folgt.

Ich habe versucht, bei Google nach möglichen Lösungen zu suchen, aber ich hatte Mühe zu sagen, was genau ich suche.

-1

1 Antwort auf die Frage

1
mk1

Ich könnte keinen einfachen Weg finden, um das zu tun, was Sie wollen, obwohl es eventuell electric-layout-modehelfen könnte. Also biete ich folgenden Hack an:

(defun c-open-brace () (interactive) (let ((electric-pair-mode nil)) (c-electric-brace nil) (save-excursion (newline) (insert ?}) (indent-according-to-mode))))  (define-key c-mode-map (kbd "{") 'c-open-brace)