Как изменить стиль отступа emacs c, чтобы не делать отступы открывающей скобки с помощью встроенных методов c

#c #emacs

Вопрос:

Теперь я использую стиль bsd в emacs. Это стиль, с которым я начал много лет назад, после того как начал изучать паскаль, и я решил использовать его поверх других стилей для новых проектов.

Однако есть две вещи, которые меня беспокоят в стиле emacs bsd. Он отступает от встроенных методов.

1) Как мне остановить такой отступ?

т.е.

 class A
{
    A()
      {
         // do stuff
      }
};
 

Я хочу, чтобы скобка находилась на той же линии, что и методы, подобные этому.

 class A
{
    A()
    {
       // do stuff
    }
};
 

Оглядываясь вокруг, кажется, что мне нужно установить
c-set-смещение подстанции-открыть’ 0)

Но я не знаю, как связать это со стилем bsd в lisp. Я попробовал, но получил ошибки синтаксического анализа при запуске emacs.

2) Как заставить клавишу tab вставить 4 пробела?

Ответ №1:

Я только что дважды проверил свою настройку emacs, и это делает то, что вы описываете для меня:

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

Попробуйте сделать это, чтобы вставить пробелы вместо вкладок:

 (setq tab-width 4)
(setq indent-tabs-mode nil)
 

Комментарии:

1. Это частично решило проблему. Как насчет отступов на встроенных методах?

2. Я не уверен. Для меня (setq c-стиль по умолчанию «bsd» …..) предназначен для встроенных методов, как вам нужно.

3. Хорошо, должно быть, это связано с другими вещами в моем .emacs, которые я захватил в другом месте некоторое время назад. Я сделаю это по умолчанию и внесу то, что мне абсолютно нужно.

4. Проверьте мой .emacs, если хотите, вы можете найти что-нибудь полезное. github.com/rreeves/Emacs-stuff/blob/master/.emacs . Говоря о вкладках, одна вещь, которую я люблю,-это смарт-вкладка.el @ github.com/genehack/smart-tab/tree/master