Как изменить отступ в текстовом режиме для emacs

Я нахожусь в текстовом режиме и хочу, чтобы моя клавиша табуляции делала отступ строки до двух пробелов.

Файл выглядит так:

Line one

Line two

Курсор находится перед 'L': «Вторая строка», и я нажимаю TAB, и он получает отступ на 6 пробелов вместо желаемых 2 пробелов.

Действия, которые я пробовал:

  1. Я пробовал обновить переменную: tab-stop-list

    (setq tab-stop-list '(2 4 6 8 10 12 14 16))
    
  2. Я пробовал добавить text-mode-hook

    (add-hook 'text-mode-hook
      '(lambda ()
        (setq tab-width 2)))
    

person ftravers    schedule 20.10.2010    source источник


Ответы (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.

person Jérôme Radix    schedule 21.10.2010

По умолчанию в текстовом режиме будет отступ до первого непробельного символа в строке над ним.

Из документации по привязке клавиш в текстовом режиме

TAB (переведено из) запускает команду indent-for-tab-command, которая представляет собой интерактивную скомпилированную функцию Лиспа в «indent.el».

Он привязан к TAB.

(команда indent-for-tab и необязательный ARG)

Сделайте отступ в строке или области соответствующим образом для текущего основного режима или вставьте табуляцию. В зависимости от «tab-always-indent» вставьте табуляцию или отступ.

В большинстве основных режимов, если точка находилась в отступе текущей строки, она перемещается к первому непробельному символу после отступа; в противном случае он остается на той же позиции в тексте ....

К счастью, это можно изменить. Добавление следующего к вашему текстовому режиму должно сделать то, что вам нужно:

(setq tab-width 2)
(setq indent-line-function (quote insert-tab))
person jwernerny    schedule 20.10.2010

Попробуйте установить

(setq standard-indent 2)

В вашем .emacs

person ocodo    schedule 20.10.2010