如何在Vi和Emacs中以相同的缩进风格编写C++代码?

3

两个开发者如何在同一个C++代码库上透明地合作?是否有常见的C++代码缩进风格,使得一旦建立,两个开发者可以产生相同缩进级别的代码。

我发现Emacs对缩进非常强硬,它试图强制其方式,而Vi则比较宽容。但是Emacs的风格(混合制表符和空格)对Vim来说并不友好。


1
如果您定义了两个编辑器的任务,那将会更容易。这样每个用户就可以告诉您如何完成它。 - Martin York
2个回答

11

让 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)

1
这基本上就是我在寻找的东西。我只需要找到Vim对应的等效缩进规则即可。 - hasan
1
我正在谷歌搜索cinoptions(在vim中)的等效样式。我希望能够找到等效的缩进风格。 - hasan

7

我管理小团队时的做法是使用一个检查钩子,调用BSD程序“indent”,这将强制每个人的代码使用相同的缩进风格。详情请见强制执行编码风格


我认为这种方法应该更受欢迎。 - weiji

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接