Как изменить отступ в текстовом режиме для emacs
Я нахожусь в текстовом режиме и хочу, чтобы моя клавиша табуляции делала отступ в две пробелы.
Файл выглядит так:
Line one
Line two
Курсор находится перед буквой "L": "Вторая строка", и я нажимаю клавишу TAB, и он получает отступы в 6 пробелов в отличие от желаемых 2 пробелов.
Действия, которые я пробовал:
Я попытался обновить переменную:
tab-stop-list
(setq tab-stop-list '(2 4 6 8 10 12 14 16))
Я пытался добавить
text-mode-hook
(add-hook 'text-mode-hook '(lambda () (setq tab-width 2)))
3 ответа
Добавьте это к вашему.emacs:
(add-hook 'text-mode-hook
'(lambda ()
(setq indent-tabs-mode nil)
(setq tab-width 2)
(setq indent-line-function (quote insert-tab))))
Смотрите Учебник по отступам Emacs.
Значение по умолчанию для в текстовом режиме будет отступать от первого непробельного символа в строке над ним.
Из документации по связыванию ключей в текстовом режиме
TAB (в переводе с) запускает команду indent-for-tab-command, которая представляет собой интерактивно скомпилированную функцию Lisp в `indent.el'.
Это связано с TAB.
(отступ для команды табуляции и необязательный ARG)
Сделайте отступ в строке или области соответствующим образом для текущего основного режима или вставьте вкладку. В зависимости от `tab-всегда-отступа ', вставьте вкладку или отступ.
В большинстве основных режимов, если точка была в отступе текущей строки, она перемещается к первому непробельному символу после отступа; в противном случае он остается в той же позиции в тексте....
К счастью, это можно изменить. Добавление следующего к вашему текстовому мод-хуку должно сделать то, что вам нужно:
(setq tab-width 2)
(setq indent-line-function (quote insert-tab))