Code falten in Emacs
Manchmal möchte ich einen Textblock falten. In Vim haben Sie leichtes Falten ohne Flaum. Ohne irgendwelche Sonderzeichen wie "Marker" oder Regex wie hinzufügen {{{
. Ich möchte eine Region auswählen und falten, ohne die Struktur zu verändern.
Wenn man sich umschaut, scheint es in Emacs bereits Fragen zum Code-Falzen zu geben. Jemand sagte, es gäbe "keine perfekte Lösung". Zum Beispiel habe ich in Vim einen Clip mit einfachem Codefolding erstellt:
Vim schlichtes Falten
+ Ziemlich einfach, wähle eine Region aus und falte sie.
+ Es ist hartnäckig. Wenn Sie den Puffer töten / schließen Sie Vim. Und öffne die Datei erneut, die Falten sind noch da.
+ Sie erhalten eine Hervorhebungsleiste, mit der Sie leicht sehen können, was gefaltet ist.
Es gibt viele andere Faltkonfigurationen für Vim. Ich bin glücklich mit Emacs, aber das ist eine Sache, die ich vermisse. Andere Alternativen, die ich ausprobiert habe, zum Beispiel HideShow:
Verstecken anzeigen
Böse Alternative mit hide-show minor mode
. Ich fand es unbrauchbar:
- Ich kann keine Region auswählen und falten. Es klappt auf Codeblöcken.
- Es gibt keine hohe Bar oder so, um Sie zu begleiten, es ist gefaltet. Man könnte es leicht übersehen.
- Es ist nicht hartnäckig. Wenn Sie die Datei erneut öffnen, sind die Falten verschwunden.
Es gibt ein anderes Paket, Falte dies :
Falten Sie das
- Es ist eine hübsche Alternative. Es kann jedoch zu Problemen mit dem Einzug kommen, da der Text unter der Falte neben der Falte platziert wird ... (?).
- Es ist in der Lage, die Region einfach visuell auszuwählen und zu falten. Aber es bricht die Unzulänglichkeit und die Übersicht wird durcheinander gebracht. Nicht sehr praktisch.
- Es gibt keine hohe Bar oder ähnliches, um Sie zu betreuen, es ist gefaltet. Man könnte es leicht übersehen.
Was ist das Problem?
Ich möchte nachvollziehen, wie Vim faltet. Aber als ich mich umgesehen habe, scheint es sehr schwierig zu sein, das in Emacs zu tun. Also frage ich mich, ob es irgendetwas in Emacs oder seiner Architektur gibt, das es schwierig macht, dies zu replizieren? Was sind die Grenzen?