Как установить размер вкладки Emacs в 4 символа для файлов .py? - PullRequest
23 голосов
/ 10 сентября 2010

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

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

Ответы [ 4 ]

43 голосов
/ 10 сентября 2010
(add-hook 'python-mode-hook
      (lambda ()
        (setq indent-tabs-mode t)
        (setq tab-width 4)
        (setq python-indent-offset 4)))
2 голосов
/ 10 сентября 2010

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

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

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

0 голосов
/ 10 сентября 2010

У меня была та же проблема, но с файлами C ++.В конечном итоге это сделало для меня следующее: .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)
)

На самом деле, конечно, я установил его в области режима C ++ меню Customize Emacs, но это был результат.Я бы посмотрел, если в режиме Python есть что-то подобное.py-basic-offset или что?Займитесь поиском настроек режима для питона.

0 голосов
/ 10 сентября 2010
(setq indent-tabs-mode t)
(setq python-indent-offset 4)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...