Ответ 1
(add-hook 'python-mode-hook
(lambda ()
(setq indent-tabs-mode t)
(setq tab-width 4)
(setq python-indent 4)))
Я пробовал использовать следующее:
(setq-default tab-width 4)
(setq-default tab-stop-list (list 4 8 12 16 20 24 28 32 36 40 44 48 52 56 60))
Но размер вкладок при редактировании файлов .py по-прежнему составляет 8 символов. В других файлах он снизился до 4, поэтому я предполагаю, что основной режим Python переопределяет это как-то. Я вижу, что я могу установить python-indent на 4, но это заставляет места быть вставлены (что противоречит нашему руководству стиля кода).
Как сделать вкладки шириной 4 символа?
Я тоже пробовал это, но ничего не делал:
(add-hook 'python-mode-hook
(setq indent-tabs-mode t)
(setq tab-width 4)
)
(add-hook 'python-mode-hook
(lambda ()
(setq indent-tabs-mode t)
(setq tab-width 4)
(setq python-indent 4)))
Правильная форма для крючка такова:
(add-hook 'python-mode-hook
(lambda ()
(setq indent-tabs-mode t)
(setq tab-width 4)))
Вам нужно поставить императивные утверждения внутри функции (лямбда).
(setq indent-tabs-mode t)
(setq python-indent 4)
У меня была такая же проблема, но с файлами на С++. Что в конечном итоге для меня было следующим в моем .emacs
.
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(c-basic-offset 4 t)
)
На самом деле, конечно, я установил его из области режима С++ в меню Customize Emacs
, но это было результатом. Я бы посмотрел, имеет ли режим python что-то подобное. py-basic-offset
или что-то еще? Обрежьте настройки режима для пирога.