похоже, вам также необходимо:
(add-hook 'c-mode-common-hook 'google-set-c-style)
В настоящее время, хотя вы используете require
google-c-style, он не добавляет стиль до тех пор, пока не будет вызван defun выше. Докшрин говорит, что он также должен быть добавлен к крюку.
В целом, для отступов вопросов, которые вы должны знать о c-offsets-alist
Это позволяет настроить, как выполняется отступы на различных синтаксических элементов. простой способ выяснить, какой элемент вам нужно изменить, чтобы перейти к месту (например, скобка открыт в fun()
в вашем примере) и нажмите Cc Cs для c-show-syntactic-information
Вместо того, чтобы использовать этот скрипт Google стиле, лично я бы извлек из него или другого c-стиля и переопределить ценности, соответствующие моему вкусу.
Например, я замечаю, что вы ожидаете c-basic-offset из 4, но в стиле google используется c-basic-offset из 2, поэтому вы можете получить и переопределить стиль Google для замены c-basic- смещение.
Отъезд: How to make Emacs put access level modifiers in their own indentation level in my C++ code? для примера.
В вашем режиме нажмите C-c C-o Enter, чтобы изменить смещение отступа. –