Я хочу, чтобы 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;
...

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

1 ответ1

0

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

Пожалуйста, поместите эту строку в ваш файл 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 здесь.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .