Ответ 1
Здесь код "indent whole buffer", который я размещаю в моем файле ~/.emacs.d/defuns.el
. Я сделал дополнительный шаг и привязал его к быстрому ключу, C-x \
. Это также очистит все ваши висячие пространства, а также преобразует символы табуляции в их пространственное эквивалентное представление.
(defun indent-buffer ()
"Indents an entire buffer using the default intenting scheme."
(interactive)
(point-to-register 'o)
(delete-trailing-whitespace)
(indent-region (point-min) (point-max) nil)
(untabify (point-min) (point-max))
(jump-to-register 'o))
(global-set-key "\C-x\\" 'indent-buffer)
Изменить, включая предложение @JSONs ниже, даст вам defun, который выглядит следующим образом:
(defun indent-buffer ()
"Indents an entire buffer using the default intenting scheme."
(interactive)
(save-excursion
(delete-trailing-whitespace)
(indent-region (point-min) (point-max) nil)
(untabify (point-min) (point-max))))
Я тестировал это, и он работает так же, как и раньше. Спасибо за указание на JSON.