Edito mis respuestas y preguntas de StackOverflow con ViewSourceWith y Emacs. A menudo, incluyo el código y StackOverflow formatting rules dicen que debe estar indentado por cuatro espacios para ser reconocido como . Hacerlo a mano o incluso con macros es doloroso.Uso de Emacs para sangrar (cambio 4) código
Busqué en las publicaciones anteriores de SO pero no encontré nada.
A partir del modo de Python, escribió:
(defun text-shift-region (start end count)
"Indent lines from START to END by COUNT spaces."
(save-excursion
(goto-char end)
(beginning-of-line)
(setq end (point))
(goto-char start)
(beginning-of-line)
(setq start (point))
(indent-rigidly start end count)))
(defun text-shift-region-right (start end &optional count)
"Shift region of code to the right
Stolen from python-mode.
The lines from the line containing the start of the current region up
to (but not including) the line containing the end of the region are
shifted to the right, by `text-indent-offset' columns.
If a prefix argument is given, the region is instead shifted by that
many columns. With no active region, indent only the current line."
(interactive
(let ((p (point))
(m (mark))
(arg current-prefix-arg))
(if m
(list (min p m) (max p m) arg)
(list p (save-excursion (forward-line 1) (point)) arg))))
(text-shift-region start end (prefix-numeric-value
(or count text-indent-offset)))
)
;; Code in StackOverflow must be marked by four spaces at the
;; beginning of the line
(setq text-indent-offset 4)
(global-set-key "\C-c>" 'text-shift-region-right)
Parece que funciona pero la bienvenida consejos, alternativas, informes de errores, etc.
Esto no es una pregunta ... –
Es, espero obtener alternativas a mi solución cocinada rápidamente, o para recibir parches interesantes. – bortzmeyer
Además, parece que puede ayudar a algunas personas, así que lo uso como una forma de ver si hay suficiente interés para solicitar una documentación en alguna parte. – bortzmeyer