Wie deaktiviere ich alle automatischen Einrückungen in Emacs vollständig? Ich muss es zumindest für den Fundamental-Modus deaktivieren, aber ich bin damit einverstanden, dass es für die aktuelle Sitzung global deaktiviert wird.
Bitte lesen Sie den Rest dieser Frage, bevor Sie sie als Duplikat deklarieren. Alle anderen Antworten, die ich gefunden habe, beziehen sich auf ein viel gezielteres Deaktivieren der Einrückung. Ich möchte wirklich alle automatischen Einrückungen für die gesamte Sitzung deaktivieren.
Einstellen electric-layout-mode
auf nil
funktioniert nicht.
Einzelheiten
Manchmal schreibe ich gerne große Git-Commit-Nachrichten mit meinem Windows-ASCII-Texteditor. Diese Nachrichten enthalten häufig Aufzählungszeichen, Codeblöcke oder andere Elemente, bei denen die genaue Formatierung in meinem Quelldokument von Bedeutung ist. Meine Codebasis ist unter Linux und ich verbinde mich mit der Box über einen Nur-Text-SSH-Client. Wenn Git Emacs zum Bearbeiten der Festschreibungsnachricht aufruft, möchte ich die Quellfestschreibungsnachricht in die Windows-Zwischenablage kopieren und dann mit Windows-Einfügebefehlen einfügen können. Aus der Sicht von Emacs schreibe ich, was in der Windows-Textdatei gefunden wurde. Wenn Emacs eingerückte Linien sieht, fügt er leider eine eigene automatische Einrückung hinzu, sodass ich dieses riesige Dreieck aus Leerzeichen am linken Rand des Puffers erhalte.
Ich benutze GNU Emacs 24.3.1.
Umgehung
Meine derzeitige Problemumgehung besteht darin, meine Windows-Textdatei auf ein Dateisystem zu übertragen, das von meinem Linux-Host bereitgestellt wird, die Datei in Emacs zu laden und dann mit kill und yank den Inhalt zu übertragen. Das ist ein bisschen klobig.
Beispiel
Hier ist ein Beispiel-Textblock:
a
- b
c
d
So sieht es aus, wenn ich das mit MSWin paste in Emacs-under-ssh einfüge:
a
- b
c
d
Wenn ich C-h l
nach dem Einfügen drücke , sehe ich Folgendes. Beachten Sie, dass die Zeilenumbrüche mit C-j
, nicht eingegeben werden RET
.
a C-j C-j SPC SPC - SPC b C-j SPC SPC SPC SPC c C-j
SPC SPC SPC SPC d C-j C-h l
:set paste
? Grundsätzlich heißt das: "Berühren Sie den eingefügten Text in keiner Weise". Dazu gehört auch die automatische Einrückung.
hack-local-variables-hook
- im Wesentlichen ungeschehen machen , was andere Haupt-Modi als Teil ihrer Standardinitialisierung.fundamental-mode
ist nur eine kleine Funktion im Innerensimple.el
- dh(kill-all-local-variables) (run-mode-hooks)
.M-x find-function RET fundamental-mode RET
- Sie können Ihre eigenen nach Bedarf ändern / erstellen; Wenn Sie jedoch den Namen ändern, wird er von einigen Funktionen nicht verwendet. Daher sollten Sie in Betracht ziehen, den gleichen Namen beizubehalten.