#emacs #elisp #auto-indent
#emacs #elisp #автоматический отступ
Вопрос:
Emacs неправильно делает отступы в определениях классов C для распределителей, в которых есть инициализаторы с двоеточиями. Я думаю, это потому, что строки с двоеточиями во многих случаях имеют отступ слева.
Я хотел бы это исправить.
Вот пример того, о чем я говорю.
EMACS делает отступы в коде следующим образом:
class demo {
int x;
demo(){
}
demo(int y):x(y){
};
};
Но на самом деле отступ должен быть таким:
class demo {
int x;
demo(){
}
demo(int y):x(y){
};
};
Есть ли способ исправить это поведение? Предположительно, нам нужен какой-нибудь elisp…
Спасибо!
Комментарии:
1. @nightcracker: Я думаю, что вопросы Emacs здесь хороши. Более того, это может легко иметь решение, включающее программирование в elisp, и это, несомненно, связано с программированием.
Ответ №1:
Emacs (по крайней мере, версии 23) не делает этого в режиме C, но делает в режиме C , поскольку в C часть перед двоеточием может быть только меткой. Убедитесь, что вы находитесь в режиме C ( M-x c -mode
).
Комментарии:
1. Вы правы! .h по умолчанию используется режим C; Я изменил его на режим C в моем файле .emacs. Спасибо!
2. Другой вариант — использовать
.hpp
для файлов заголовков C .3. О, я нахожу .hpp таким невероятно грубым.