Вы можете увидеть, какой тип табуляции в настоящее время используется с M-x describe-variable RET c-indentation-style
(но, как указано в документации, не устанавливайте эту переменную напрямую, вместо этого используйте M-x c-set-style
).
Переменная c-basic-offset
- это то, что управляет вкладками в cc-mode
, и по умолчанию она равна set-from-style
, что означает, что вкладки будут унаследованы от того стиля C, который вы используете. установите M-x set-c-style
, что позволит вам выбрать из набора встроенных стилей (см. ниже) или вы можете создать свой собственный стиль . Вы можете увидеть, как стили определяются с помощью M-x describe-variable RET c-style-alist
, а затем вы можете использовать один из них в качестве шаблона с M-x c-add-style
.
- gnu - стиль кодирования, благословленный Free Software Foundation для кода C в программах GNU.
- k & r - Классический стиль Кернигана и Ричи для кода C.
- bsd - также известный как «стиль Allman» после Эрика Аллмана.
- whitesmith - Популяризован примерами, которые пришли с Whitesmiths C, ранним коммерческим компилятором C.
- stroustrup - Классический стиль Страуструпа для кода C ++.
- ellemtel - Популярные стандарты кодирования C ++, определенные в «Программирование на C ++, правила и рекомендации», Эрик Найквист и Матс Хенриксон, Ellemtel ^ 1.
- linux - стандарт кодирования C для Linux (ядро).
- python - Стандарт кодирования C для модулей расширения Python ^ 2.
- java - Стиль для редактирования кода Java. Обратите внимание, что значение по умолчанию для c-default-style устанавливает этот стиль при входе в режим java.
- awk - Стиль для редактирования кода AWK. Обратите внимание, что значение по умолчанию для c-default-style устанавливает этот стиль при входе в awk-mode.
- пользователь - Это особый стиль, созданный вами. Он состоит из заводских настроек по умолчанию для всех переменных стиля, измененных настройками, которые вы делаете либо с помощью интерфейса настройки, либо путем написания setqs и c-set-offset на верхнем уровне вашего файла .emacs (см. Основы конфигурации). Система стилей создает этот стиль как часть своей инициализации и не изменяет его впоследствии.
UPDATE:
Другие предложили использовать клавишу tab для вставки символа табуляции \t
, но, пожалуйста, не принудительно вставляйте символ табуляции! Как говорит один из создателей StackOverflow «только дебил будет использовать вкладки для форматирования своего кода» . Это немного грубо, но стоит отметить, что даже два самых гигантских конкурента, Google и Microsoft , согласны с этим (хотя они по умолчанию рекомендуют другое количество пробелов) ).
Google говорит :
Используйте только пробелы и отступайте 2 пробела одновременно.
Microsoft говорит :
Символы табуляции (\ 0x09) не должны использоваться в коде. Все отступы
должно быть сделано с 4 пробелами.
Кроме того, в emacswiki есть раздел на Вкладки зла .
Так что, иди и развернись !