Изменить стиль Emacs C не работает - PullRequest
1 голос
/ 13 сентября 2011

В режиме Emacs CC я пытаюсь использовать стиль "bsd", но сделаю так, чтобы по умолчанию все строки имели отступ с шагом 4 вместо 8. В моем файле .emacs Я положил:

(setq c-default-style "bsd"
      c-basic-offset 4)
(setq c-indent-level 4)

Но все строки по-прежнему имеют отступ до 8 пробелов. Я не могу определить, где проблема. Я использую GNU Emacs 23.3.1.

Ответы [ 2 ]

9 голосов
/ 13 сентября 2011

Настройки режима CC являются локальными для буфера, что может вызвать проблемы.Лучший способ настроить это - поместить ваши настройки в ловушку.Это гарантирует, что независимо от того, сделал ли cc-mode буфер c-basic-offset локальным или нет, изменения будут применены при запуске режима.Я использую что-то похожее на это:

(defun my-c-mode-hook ()
  (setq c-basic-offset 4
        c-indent-level 4
        c-default-style "bsd"))
(add-hook 'c-mode-common-hook 'my-c-mode-hook)
1 голос
/ 13 сентября 2011

Это выглядит правильно.Вы выполнили эти строки в своем файле .emacs?Идите до конца из них и сделайте C-x C-e.Если это не сработает, закройте emacs и перезапустите его (что заставит его перечитать ваш файл .emacs).Если это не сработает, перейдите в рабочий буфер или что-то подобное и выполните команду (message "%s %d %d" c-default-style c-basic-offset c-indent-level), чтобы узнать, что думает emacs об этих значениях (возможно, вы включаете другой файл, который перезаписывает эти значения?) Затем загрузите один из ваших файлов CC ипроверьте режим, чтобы убедиться, что вы находитесь в режиме C-типа.

...