Как я могу заставить Emacs отступывать мои//комментарии с моим кодом?
Я мало что знаю о Emacs, но после некоторого поиска в Google я редактировал файл .emacs
следующим образом:
(setq c-default-style "bsd" c-basic-offset 4)
Моя цель состояла в том, чтобы получить отступы в стиле Allman с 4-интервальными вкладками. Он работает так, как ожидалось, но теперь мои комментарии //
не отступаются от моего кода. Прежде чем я изменил это, когда я наберу //
, он будет автоматически отступать в соответствии с остальной частью кода в функции. Как я могу получить комментарии Emacs к автоиндексу //
?
Я попытался добавить c-indent-comments-syntactically-p 1
в указанный выше файл .emacs
, но это не изменило его...
Например:
int main()
{
// I'd like this line to be auto-indented to match the block
for (int i = 0; i < 10; ++i)
{
// And this line to be auto-indented to match the block
doStuff();
}
}
В настоящее время TAB
не делает отступ моим комментарием //
, и он также не является автоматически отступом.
Ответы
Ответ 1
Вы можете проверить и изменить значение текущего отступа, поместив точку в соответствующую строку и нажав C-c C-o
. Отрегулируйте соответствующие символы по своему вкусу.
Это не будет постоянным. Используйте прямой вызов функции c-set-offset
в .emacs
, чтобы внести изменения во всем мире.
Простой пример:
int main() {
//
}
Это мой отступ по умолчанию. После перемещения курсора в строку 2 я вижу, что соответствующий символ comment-intro
.
Использование:
(c-set-offset 'comment-intro 6)
Я получаю:
int main() {
//
}
Смещение накапливается по символам:
int main() {
//
{
//
}
}
Ответ 2
Включение TAB все еще отступает от вашей строки комментариев, верно? Тогда вам не хватает автоматического распознавания двойного слэш, запускающего автоиндентификацию. Это реализуется (c-electric-slash). Сначала убедитесь, что слэш все еще привязан к этой команде:
C-h k /
(помощь по нажатию на клавиши). Затем, при условии, что появится документация для c-electric-slash, прочитайте ее, чтобы выяснить, при каких условиях она блокируется.
Ответ 3
Если вы хотите поместить свой комментарий в то же самое выравнивание области вашего кода, просто добавьте следующую строку в файл ~/.emacs:
(c-set-offset 'comment-intro 0)