Einzug mit 4 Leerzeichen, aber Anzeige 2

7

Bei der Arbeit haben wir eine Richtlinie, die besagt, dass wir 4 Leerzeichen zum Einrücken verwenden müssen, und meiner Meinung nach erschwert dies das Lesen des Codes.

Ist es möglich, mit 4 Leerzeichen einzurücken, aber als 2 Leerzeichen anzuzeigen?

DalekSall
quelle
1
Ich würde sagen, das hat wenig oder gar nichts mit Spacemacs zu tun. Gute Frage. Ich würde mich für eine Lösung interessieren.
PythonNut
1
Eine Art "Tabs für arme Männer"? Ich kann mir vorstellen, dass dies nicht zu schwer auf alle führenden Räume anzuwenden ist, sondern komplizierter, wenn Sie Einrückung von Ausrichtung unterscheiden möchten.
Phils
1
Ich vermute hier wild, aber können Sie an Tabulatoren mit vier Leerzeichen tabellieren , dann Tabulatoren mit Stopps mit zwei Leerzeichen anzeigen und schließlich an Stopps mit vier Leerzeichen aufheben ? (Aber diese Idee wird für Fortsetzungslinien schlecht funktionieren.)
Norman Ramsey
Dies sollte wahrscheinlich ein Kommentar sein, keine Antwort.
PythonNut

Antworten:

1

Es gibt wirklich nur eine Antwort, die immer für alle funktionieren kann, zumindest wenn Sie sowohl die Möglichkeit haben möchten, Einrückungsinkremente in unterschiedlichen Breiten anzuzeigen als auch Fortsetzungslinien konsistent mit der Einrückungsstufe der Linie auszurichten, in der sie fortgesetzt werden von: Verwenden Sie Smart Tabs .

Eine Erläuterung aller Probleme beim Einrücken und Ausrichten von Fortsetzungslinien finden Sie unter Registerkarten sind böse . (Tabulatoren sind natürlich nicht wirklich böse, es ist nur ein Problem, wenn sie für mehrere Zwecke missbraucht werden - bei korrekter Verwendung sind sie das Werkzeug zum Anzeigen von Einrückungen in verschiedenen Breiten.)

Der wichtigste Vorteil der Verwendung von Registerkarten zum Einrücken und Leerzeichen zum Ausrichten besteht darin, dass Einrückungsinkremente mit unterschiedlichen Breiten auch außerhalb des Editors angezeigt werden können. Wenn Sie beispielsweise einfach Tabulatorstopps festlegen, wird jede gewünschte Anzahl von Leerzeichen im Terminal (Emulator) angehalten. Selbst eine Rohansicht (z. B. cat file) einer Datei mit Tabulatoreinzug und Leerzeichenausrichtung sieht wie gewünscht aus, unabhängig von der Tabulatorbreite des Terminals . Diese Technik von Smart Tabs sollte sogar für diese anderen kleineren Editoren funktionieren, auch wenn sie ihre Benutzer nur höflich auffordert, beim Drücken und Drücken etwas vorsichtiger zu sein, damit sie Smart Tabs manuell implementieren können .

Greg A. Woods
quelle
0

Probieren Sie https://www.emacswiki.org/emacs/redshift-indent.el aus .

Siehe C-h f redshift-indentzur Verwendung.

Verwenden Sie diese Version nicht, wenn Sie Tabulatoren zum Einrücken verwenden (obwohl Sie zunächst kein Problem hatten, es sei denn, Sie mischen Leerzeichen und Tabulatoren, da Sie den Ansatz nur für Tabulatoren einfach anpassen können tab-width).

Wenn Sie ausschließlich Leerzeichen einrücken, ist dies meiner Meinung nach in Ordnung.

Ich hatte nicht vor, es zu veröffentlichen, bis ich einen Fehlerbericht über Texteigenschaften nachverfolgt hatte (der darauf wartet, dass ich weitere Details zu den Szenarien bereitstelle, in denen Dinge nicht funktionieren), aber Sie werden möglicherweise feststellen, dass es für Sie funktioniert ungeachtet. Ich habe mich entschlossen, es so wie es ist im Wiki zu platzieren, weil ich eine andere Frage sehe. Code mit einem anderen Einzug als auf der Festplatte gespeichert anzeigen - bevor mir klar wurde, dass die andere Frage doch kein Duplikat war ... woraufhin ich dachte, ich wäre es sollte nur eine Antwort auf die richtige Frage posten ...

Phils
quelle
2
Bitte hosten Sie keine neuen Projekte auf Emacswiki.
Wasamasa
1
Nun, meine Absicht ist es, dass dies irgendwann auf GNU ELPA sein wird. Im Moment ist es im Wiki. Probieren Sie den Code aus, anstatt nur das Hosting zu kommentieren.
Phils