Это появляется в версии emacs 24.3.1 для Linux.
Запустите буфер, введите octave-mode
(возможно, вам потребуется установить из пакета) и введите что-то вроде этого:
function foo = bar(x,y)
Теперь, если вы перейдете на строку ниже и нажмете , TAB
чтобы начать бить, курсор переместится на 8 позиций вперед!
После того, как вы оправились от учащенного сердцебиения и гипервентиляции, вы замечаете, что если вы нажимаете TAB
после того, как что-то напечатали, Emacs приходит в себя и возвращает всю строку к отступу в 2 пробела. Остальные строки ниже будут вести себя так же.
В чем смысл или причина такого поведения?
решение1
Поскольку Emacs можно запрограммировать на выполнение практически чего угодно, я просто настраиваю или исправляю то, что мне нужно, и редко ищу обоснование настроек по умолчанию.
(add-hook 'octave-mode-hook (lambda ()
(setq indent-tabs-mode t)
(setq tab-stop-list (number-sequence 2 200 2))
(setq tab-width 2)
(setq indent-line-function 'insert-tab) ))