Há momentos em que estou editando arquivos (manifestos do Puppet, por exemplo) em que desejo alinhar o conteúdo do buffer rapidamente. Por exemplo, eu sei que posso usar align-regexp
ou align
alinhar códigos como este, desde que eu tenha selecionado:
# M-x align-regexp "=>" will line everything up nicely
file { "/etc/foo":
ensure => present,
mode => "0666",
source => "puppet:///modules/example/foo",
}
Mas o que eu realmente quero é que isso aconteça rapidamente - sem ter que selecionar uma região ou todo o buffer. Existe um pacote ou modo que fará isso ou algo que precisaria ser incorporado ao modo em que estou interessado?
Edit: perguntei sobre o Puppet e o CFEngine, já que é o que eu codifico na maioria dos dias atualmente e tenho uma forte preferência pelo texto alinhado. No entanto, também fiquei curioso (e não expressei isso muito bem) em saber se o alinhamento rápido é um recurso comum nos modos Emacs (principalmente nos modos de linguagens de programação) ou se a maioria das pessoas se alinha ao salvar ou em algum momento outro ponto
indent-region
por align-to-equals
e defina esta função como (defun align-to-equals (begin end) (interactive "r") (align-regexp begin end "\\(\\s-*\\)=" 1 1 nil))
; e emacs-lisp-mode-hook
com puppet-mode-hook
.