align-regexp
kann dies tun. Markieren Sie den Bereich, und verwenden Sie dann:
C-uM-xalign-regexp
RET\(\s-+[0-9]*\)[0-9]
RET-1
RET4
RETy
, dass die einfachste Ansatz sein sollte.
(Edit: In der Tat, Sie brauchen noch nicht einmal, dass Endziffer zu trennen; \(\s-+[0-9]+\)
funktioniert genauso gut für den regexp.)
die interaktiven Eingabeaufforderungen und Chfalign-regexp
RET und die Variable für das, was das tatsächlich tut.
Der bemerkenswert ist, dass durch eine negative Zahl für die Gruppe spezifizieren, align-regexp
setzt das justify
Attribut:
`justify'
It is possible with `regexp' and `group' to identify a
character group that contains more than just whitespace
characters. By default, any non-whitespace characters in
that group will also be deleted while aligning the
alignment character. However, if the `justify' attribute
is set to a non-nil value, only the initial whitespace
characters within that group will be deleted. This has
the effect of right-justifying the characters that remain,
and can be used for outdenting or just plain old right-
justification.
Alternativ können die verschiedenen Tabellenbearbeitungsmöglichkeiten auch damit umgehen können (zB org, ses, Tabelle -capture/release), oder Sie könnten es mit einem elisp Ersatzmuster tun.
z.B. Folgendes sollte mehr oder weniger dem entsprechen, wonach Sie suchen, vorausgesetzt, dass die Datei bereits Leerzeichen für die Ausrichtung verwendet (Sie können untabify
verwenden, um die Registerkarten zu entfernen, falls dies nicht der Fall ist) und dass alle Zeilen die gleiche Länge haben benötigt in einigen Zeilen, wenn die letzte Spalte unterschiedliche Länge hat).
C-M-%\([0-9]+\)\([[:space:]]+\)
RET RET\,(format (concat "%" (number-to-string (1- (length \&))) "d ") (string-to-number \1))
org-Modus und eine Tabelle? – Reactormonk
Table-Mode, Org-Modus nicht notwendig hier, obwohl in der Regel sehr nützlich –
Am Ende bevorzuge ich eine 'rect' basierte [Lösung] (http://StackOverflow.com/A/10916207/357313). –