Как заставить Emacs сбросить отступ?

577
towi

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

Например: Потому что я вложенный вложенные-nested- .. Пространство имена в C ++ - файлы, которые я хотел бы не отступа всего тела внутри пространств имен.

#include <vector>  namespace qw { namespace impl {  using std::vector;  class index_impl { vector<string> entries; public: void add(const string &normalized, const string& original); string getBestMatch(const string& normalized) const; };  } // namespace impl_multimap } // namespace qw 

Это полезно, конечно, только в тех случаях, когда в основном во вложенных пространствах имен существует один класс для реализации. В заголовочных файлах это может привести к путанице. Поэтому я думаю, что лучшим решением было бы иметь специальный комментарий или что-то в этом роде.

#include <vector>  namespace qw { namespace impl { // -*- indent: 0 -*-  using std::vector; ... 

Любые другие идеи тоже подойдут.

0

1 ответ на вопрос

0
Animesh Patra

Первоначальный источник .

Пожалуйста, поместите эту строку в ваш файл Emacs:

(c-set-offset 'substatement-open 0) 

Детальный метод:

  1. Перейти к строке, которую вы хотите сделать отступ

  2. Пожалуйста, введите CC CO (не ноль) и нажмите Enter

  3. Теперь введите «0» и нажмите Enter, чтобы не было лишних отступов.

  4. Пожалуйста, напечатайте Tab, чтобы заново сделать отступ

  5. Будущее "{" будет иметь правильную настройку вкладки, пока вы не перезапустите emacs.

Кроме того, вы можете поместить это в ваш файл Emacs:

(c-set-offset 'SYNTACTIC-SYMBOL OFFSET) 

чтобы увидеть код LISP.

Научитесь форматировать исходный код C ++ вне emacs здесь .

Это переключит отступ в 0, всегда, не так ли? Это не то, что мне нужно. Я больше думаю о ручной настройке в редких случаях. * astyle * может помочь, да, но я хочу остаться в Emacs. towi 8 лет назад 0

Похожие вопросы