So erhalten Sie in Emacs in allen Modi den automatischen Einzug (nicht den intelligenten Einzug)

Ich bin neu in Emacs, und sein Einzug treibt mich die Wände hoch. Es ist zu klug für sein eigenes Wohl; es denkt (fälschlicherweise), es weiß, wie ich meine Quelle formatieren möchte, aber ich habe keine Zeit, jede Einstellung für jeden Modus für jede andere Sprache, für die ich Code schreibe, aufzuspüren; In vielen dieser Sprachen ist überhaupt kein Modus aktiviert.

Hier ist das Verhalten, das ich gerne hätte:

TAB-EinsätzeEinzugRET fügt eine neue Zeile ein und kopiert dann die Leerzeichen vom Anfang der vorherigen Zeile zum ersten nicht leeren Zeichen oder zum Ende der Zeile, je nachdem, was früher eintrittENTF (Rücktaste) im leeren Text zwischen Zeilenanfang und erstem nicht leeren Zeichen / Zeilenende löscht einsEinzug wenn möglich, sonst einzelnes Zeichen wie normalKein automatischer Einzug bei {Kein Auto-Unindent an}Tatsächlich gibt es zu keinem Zeitpunkt ein intelligentes Einrückungsverhalten. Kopieren Sie einfach den Einzug der vorherigen Zeile in RET.Pro Quelldateiformat müssen zwei Variablen konfiguriert werden:Breite der Registerkarte anzeigenund Inhalt vonEinzug. Vorzugsweise können diese für zufällige Quellcodeformate konfiguriert werden, ohne dass ein Hauptmodus für sie geschrieben werden muss, es sei denn, das Schreiben eines Hauptmodus ist ein Einzeiler in .emacs, der aus zwei bestehtsetqs.

Dies würde mich zu einem logischen und konsistenten Verhalten in allen Sprachen führen. Es würde mir die Arbeit überlassen, den Code zu formatieren, aber das ist in Ordnung, ich mache das seit 20 Jahren und ich weiß, wie man andere Makros erstellt, die es effizienter machen. Noch wichtiger ist, dass ich mich nicht endlos mit den Konfigurationseinstellungen herumärgern muss, um das automatische Verhalten an meine Vorlieben anzupassen. Und meine Makros können sich auf konsistentes Verhalten verlassen, damit sie in allen Modi korrekt funktionieren.

Ist das obige möglich? Sicher hat das schon jemand anders gemacht? Gibt es einen Nebenmodus, der es so macht?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage