Как я могу кодировать на C++ с одинаковым стилем отступов как в Vi, так и в Emacs?

Как два разработчика могут работать над одним и тем же кодом C++ так, чтобы они могли работать прозрачно? Существует ли какой-либо общий стиль отступов для кода C++, чтобы после его создания два разработчика могли создавать код с одинаковым уровнем отступов.

Я обнаружил, что Emacs очень агрессивен в отношении отступов, он пытается проложить себе путь, в то время как Vi довольно снисходителен. Но стили emacs (смешанные вкладки и пробелы) не очень удобны для Vim.


person hasan    schedule 16.09.2009    source источник
comment
Было бы проще, если бы вы определили, что вы хотите, чтобы оба редактора делали. Тогда пользователи каждого из них могли бы рассказать вам, как это сделать.   -  person Martin York    schedule 16.09.2009


Ответы (2)


Заставьте Emacs делать то, что вы хотите.

Из моего файла ~/.emacs:

(defun my-c-mode-common-hook ()
  (local-set-key "\C-h" 'backward-delete-char)
  ;; this will make sure spaces are used instead of tabs
  (setq tab-width 4 indent-tabs-mode nil)
  (setq indent-tabs-mode 'nil)
  (setq c-basic-offset 4)
  (c-set-offset 'substatement-open 0)
  (c-set-offset 'statement-case-open 0)
  (c-set-offset 'case-label 0)
  (c-set-offset 'brace-list-open 0)
)

(add-hook 'c-mode-hook 'my-c-mode-common-hook)
(add-hook 'c++-mode-hook 'my-c-mode-common-hook)
(add-hook 'perl-mode-hook 'my-c-mode-common-hook)
(add-hook 'cperl-mode-hook 'my-c-mode-common-hook)
(add-hook 'emacs-lisp-mode-hook 'my-c-mode-common-hook)
(add-hook 'nroff-mode-hook 'my-c-mode-common-hook)
(add-hook 'tcl-mode-hook 'my-c-mode-common-hook)
(add-hook 'makefile-mode-hook 'my-c-mode-common-hook)
person kmarsh    schedule 16.09.2009
comment
Это в значительной степени то, что я искал. Мне просто нужно найти эквивалентные правила отступа для аналога Vim. - person hasan; 16.09.2009
comment
Я ищу cinoptions (в vim) для эквивалентного стиля. Я надеюсь, что смогу приземлиться на эквивалентный стиль отступа. - person hasan; 16.09.2009

Когда я руководил небольшой командой, я использовал хук регистрации, который называл программу BSD «отступом», что заставляло код всех использовать один и тот же стиль отступов. См. раздел Применение стиля кодирования.

person Paul Tomblin    schedule 16.09.2009
comment
Я думаю, что этому подходу следует отдать предпочтение гораздо больше. - person weiji; 18.09.2009