Откройте файл, а затем сделайте отступ, указав отступ для всего региона:
M-x find-file /path/to/file RET
C-x h (M-x mark-whole-buffer)
C-M-\ (M-x indent-region)
Теперь, похоже, вы пытаетесь применить отступ C к буферу, который не находится в режиме C. Чтобы перевести его в режим C
M-x c-mode
Или c++-mode
, или любой другой режим, который вы хотите. Но, поскольку это код ассемблера, вам, вероятно, нужен режим ассемблера (который Emacs будет делать по умолчанию для файлов .s). В этом случае вышеприведенная команда отступа (C-M-\
также известна как M-x indent-region
) должна работать для вас.
Примечание: последовательность команд в верхней части может быть свернута в одну команду, подобную этой:
(defun indent-file (file)
"prompt for a file and indent it according to its major mode"
(interactive "fWhich file do you want to indent: ")
(find-file file)
;; uncomment the next line to force the buffer into a c-mode
;; (c-mode)
(indent-region (point-min) (point-max)))
И, если вы хотите узнать, как связать основные режимы с файлами на основе расширений, ознакомьтесь с документацией для auto-mode-alist . Чтобы быть справедливым, это не обязательно основано на расширении, просто регулярные выражения сопоставляются с именем файла.