В Emacs, как мы можем применить новый стиль отступа для нашего существующего кода? - PullRequest
2 голосов
/ 24 января 2011

Читая о стиль отступа , теперь я должен изменить свой текущий стиль отступа с Стиль баннера на Стиль Allman Я изменил стиль отступа, используя c-set-style и выбрав bsd.Но как теперь применить новый стиль отступа?

То есть, может ли emacs переформатировать мой код и применить этот новый стиль кодирования?Как я могу настроить emacs для использования этого стиля в качестве стиля Java по умолчанию.

Спасибо.

1 Ответ

1 голос
/ 24 января 2011

Вы можете использовать indent-region, чтобы применить настройки отступа. Если вы хотите сделать отступ для всего буфера, mark-whole-buffer (C-x h), за которым следует indent-region (C-M- \), должны это сделать.

EDIT:

Если вы хотите автоматически перемещать фигурные скобки в свои собственные строки, как в цитируемом стиле, вам также придется выполнить некоторые замены регулярных выражений. Следующее может быть началом:

(query-replace-regexp "^\\([^{}\n]+[^{} \t\n]+[^{}\n]*\\)\\([{}]\\)$" "\\1\n\\2")     

Это займет любой {или} символ, который является последним символом в строке, и поместит его в свою собственную строку. Он будет игнорировать любые символы {}, которые являются первыми символами в их строках. Вам может потребоваться следовать с:

(query-replace-regexp "^\\(\\s *[{}]\\)\\(.+\\)$" "\\1\n\\2") 

Это займет любые {} символов, которые находятся в начале их строки и сопровождаются другими символами, и вставит новую строку между фигурной скобкой и другими символами.

После этого мое первоначальное предложение mark-whole-buffer и indent-region должно исправить отступ.

РЕДАКТИРОВАТЬ 2: исправлено первое регулярное выражение для учета ведущих пробелов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...