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

#emacs

#emacs

Вопрос:

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

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

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

т. е.

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

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

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

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

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

2) Как заставить клавишу табуляции вставлять 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-default-style «bsd» …..) предназначены встроенные методы, такие как вам нужно.

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

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