Ci sono momenti in cui sto modificando i file (ad esempio i manifest di Puppet) in cui voglio allineare al volo i contenuti del buffer. Ad esempio, so che posso usare align-regexp
o align
allineare il codice in questo modo, purché sia selezionato:
# M-x align-regexp "=>" will line everything up nicely
file { "/etc/foo":
ensure => present,
mode => "0666",
source => "puppet:///modules/example/foo",
}
Ma quello che voglio davvero è che questo accada al volo , senza dover selezionare una regione o l'intero buffer. C'è un pacchetto o una modalità che lo farà, o è qualcosa che dovrebbe essere integrato nella modalità che mi interessa?
Modifica: ho chiesto informazioni su Puppet e CFEngine, poiché è quello che codifico in questi giorni e ho una forte preferenza per il testo allineato. Tuttavia, ero anche curioso (e non ho espresso così bene) di sapere se l'allineamento al volo è una caratteristica comune nelle modalità Emacs (principalmente nelle modalità per i linguaggi di programmazione) o se la maggior parte delle persone si allinea durante il salvataggio o in alcuni altro punto.
indent-region
con align-to-equals
e definisci questa funzione come (defun align-to-equals (begin end) (interactive "r") (align-regexp begin end "\\(\\s-*\\)=" 1 1 nil))
; e emacs-lisp-mode-hook
con puppet-mode-hook
.