Я почти никогда не использую клавишу TAB для чего-либо, кроме вставки символа <tab>
(\t
). Недопустимо продолжать набирать C-q TAB для этого, потому что я в основном использую вкладки для комментариев. Большая часть отступов в моем коде выполняется Emacs, автоматически сопоставляя мою первую строку с ручным отступом, и путем привязки indent-region
к C-TAB. Я в основном использую клавишу табуляции для отступа в комментариях. Я предпочитаю устанавливать ширину табуляции на 8 символов и делать отступ для каждого комментария двумя символами табуляции, в общей сложности 16 символов пробела. Я был бы в порядке с существующей системой управления отступами, если бы ESS не был склонен к сбоям, как описано здесь. В файле, над которым я сейчас работаю, есть прерывистые линии, которые вызывают именно описанную проблему. В настоящее время в этом файле нажатие клавиши tab
НЕ дает результата.
Как заставить клавишу табуляции вставить символ табуляции в режимах ESS [S] и ESS [SAS]?
Я пробовал добавить
(global-set-key "\C-i" 'self-insert-command)
и
(setq-default tab-always-indent nil)
в мой .emacs
файл, но это не повлияло на поведение ESS. Я не могу понять, что Emacs вызывает внутри себя режим ESS [S], т.е.
(define-key ess-mode-map "\C-i" 'self-insert-command)
выдает ошибку
"Переменная ess-mode-map недействительна".
Я пробовал ess-S-mode
, ess-s-mode
, ESS-S-mode
и еще несколько с тем же результатом.
Я также подтвердил, что ess-mode-hook
и ess-mode-map
являются ожидаемыми переменными ловушки и карты. Я тогда попробовал
(add-hook 'ess-mode-hook (lambda () (define-key "\t" ess-mode-map 'self-insert-command)))
что не сработало.
Я попытался отредактировать файл ess-mode.el и изменить раскладку клавиш с «\ t» на 'self-insert-command
, что не дало никакого эффекта.
"\t"
кself-insert-command
на карте режимов. - person Drew   schedule 20.05.2014(global-set-key "\t" 'self-insert-command)
не работает и(define-key ess-mode-map "\t" 'self-insert-command)
выходит из строя с ошибкой: значение символа как переменной недействительно: ess-mode-map - person user2127595   schedule 20.05.2014