Заставить emacs всегда вставлять (и возвращать) 4 пробела? - PullRequest
3 голосов
/ 18 декабря 2010

Я думал, что у меня все в порядке, но теперь иногда emacs будет вставлять вкладку из 8 символов или вкладку из 6 или 5 символов ....

Возможно, это связано с документом (это произошло в большом текстовом файле, который содержит много различных интервалов между табуляциями, хотя в основном это 4 шага пробела или обычные символы табуляции).

(setq-default indent-tabs-mode 0)
(setq-default tab-width 4)
(setq indent-line-function 'insert-tab)

Выше приведен код из моего init.el, который заставляет меня задуматься, почему он иногда дает сбой и вставляет 6 символьных вкладок.

1 Ответ

1 голос
/ 20 декабря 2010

Основной режим, о котором идет речь, может иметь свои собственные правила для отступа, но если мы говорим о текстовом режиме, тогда действительно нужно вызвать indent-line-function ( в конечном итоге ).Возможно, вы захотите еще раз проверить, что это не локально по отношению к буферу, значение отличается от того, которое вы предполагали установить, но я бы сказал, что более вероятным виновником является переменная tab-stop-list.

Вы можете прочитать об этом и других связанных с этим вещах здесь:
http://www.emacswiki.org/emacs/CategoryIndentation

Он спрятан в нижней части этого списка ссылок, но очень важен для понимания поведения вкладокв отсутствие правил автоматического отступа.

Если вы включите ruler-mode и переменную ruler-mode-show-tab-stops, это может пролить свет на некоторые вещи.

...