Обновить
Комментарии 10
Я бы упомянул еще о c-show-syntactic-information и c-set-offset, которые для major режимов базирующихся на c-mode помогают менять форматирование инерактивно и на лету.
c-show-syntactic-information и c-set-offse используются, если хочется создать свой стиль с нуля, или требования очень специфичны. Сколько помню мне хватало стандартных стилей.
В принципе да, в большинстве случаев хватает стандартных стилей.

Попробую на примере.
Идем себе спокойненько по коду, делаем свое дело, форматирование срабатывает автоматически.
Допустим, где-то оно настроено не так, как ожидается — при нажатии на tab что-то двигается куда-то не туда.
Я делаю M-x c-show-syntactic-information чтоб посмотреть, как оно распарсилось и потом M-x c-set-offset чтобы настроить что и куда, с автокомплитом и возможностью попробовать насколько вариантов (вызвав c-set-offset еще раз).
При необходимости прописываю в .emacs устраивающий меня вариант.
Да, это сложнее чем настраивать стили вручную и требует некоторого понимания, но интерактивность имхо делает жизнь существенно удобней.
Еще раз повторюсь, вы затронули другую тему, которую я не собирался рассматривать. И вашей инструкции уже будет достаточно, если кто-то захочет подправить свой стиль форматирования.
Зачем вообще так заморачиваться стандартами кода, когда можно при коммите запускать perltidy, который приведет код к одному виду? Так каждый пишет как ему нравится, в репозиториях лежит единообразно отформатированный код. Также, написать конфиг для перлтайди намного проще, чем заставить человека писать код так, как ему не нравится.
Для python'а не используют выравнивание табами. Поэтому не стоит и в примерах такое приводить.
Видел давольно часто, выравнивание табами как «1 tab» — «1 indent», те размер tab'а есть 2, 3, 4 (любимое подставить). Ничего противоестественного здесь ни вижу, хотя тоже не люблю.
По сабжу могу сказать, что есть достаточно много редакторов, которые автоматически выравнивают изменения под код, тот же sublime, например.
Добавлю свои пять копеек — M-x tabify и M-x untabify заменяют отступы (в выделенном регионе) на табы и на пробелы соответственно. Полезно если накосячил и нужно исправить, а искать лень. (не знаю как в остальных режимах, но в lisp-mode работает прекрасно)
whitespace-cleanup — также поможет для чистки кода от ненужных табов/пробелов.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.