Подтвердить что ты не робот

Как установить размер вкладок Emacs на 4 символа для файлов .py?

Я пробовал использовать следующее:

(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)
)
4b9b3361

Ответ 1

(add-hook 'python-mode-hook
      (lambda ()
        (setq indent-tabs-mode t)
        (setq tab-width 4)
        (setq python-indent 4)))

Ответ 2

Правильная форма для крючка такова:

(add-hook 'python-mode-hook
          (lambda ()
            (setq indent-tabs-mode t)
            (setq tab-width 4)))

Вам нужно поставить императивные утверждения внутри функции (лямбда).

Ответ 3

(setq indent-tabs-mode t)
(setq python-indent 4)

Ответ 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 или что-то еще? Обрежьте настройки режима для пирога.