Vim-类缩进Emacs

Vim-类缩进Emacs,vim,emacs,indentation,Vim,Emacs,Indentation,我使用vim(主要是为了在普通ssh终端上工作,但对于Emacs非gui版本,我仍然感到不舒服),但组织中的大多数同事都使用Emacs。因此,使用CVS,我们面临缩进不一致性问题(制表符变为空格、制表符/空格的数量、代码布局等) 有没有一种方法可以使VIM缩进与EMACS完全相同。(与同事使用的默认emacs配置文件类似) (最重要的是,我希望VIM的C++和TCL压痕方案匹配Emacs)。 问候, 以下是关于.vimrc缩进的一些选项的摘录: set expandtab set tabstop

我使用vim(主要是为了在普通ssh终端上工作,但对于Emacs非gui版本,我仍然感到不舒服),但组织中的大多数同事都使用Emacs。因此,使用CVS,我们面临缩进不一致性问题(制表符变为空格、制表符/空格的数量、代码布局等)

有没有一种方法可以使VIM缩进与EMACS完全相同。(与同事使用的默认emacs配置文件类似)

(最重要的是,我希望VIM的C++和TCL压痕方案匹配Emacs)。 问候,


以下是关于.vimrc缩进的一些选项的摘录:

set expandtab
set tabstop=2
set shiftwidth=2
set autoindent
set smartindent
vim帮助中详细介绍了所有选项:

:help smartindent
:help autoindent

<强> UPD:对于C类语言,您可以考虑<代码>:帮助C缩进< /COD> < /P> > P> >我不知道是否有一种方法将Emacs缩进设置直接导入VIM,但是您可以在VIM本身中配置相同的行为:

set expandtab
将选项卡转换为空格
设置自动缩进
将保持上一行的缩进水平

<代码>设置SHIVTHOLD=4 会影响到对C++和TCL的特殊缩进的“>”和“<”的块缩进,在ADONT中有一些特殊的东西适用于所有其他已建议的设置信息。Vim在代码中为不同的语言定义了特殊的缩进规则。其中一些可以在vim安装的/indent目录中找到,每个文件类型都有一个单独的文件。有关如何工作的更多信息,请阅读“indentexpr”的帮助

C缩进——我也认为C++的缩进——主要是在VIM源代码中定义的,并且有一个可以设置的无数选项,另外在C.VIM或C++ + VIM缩进文件中是特别可配置的。请阅读“cindent”和“c-indenting”的帮助,以获取更多相关帮助


简而言之,tcl.vim文件控制tcl文件的特殊缩进。如果您想修改缩进在tcl中的工作方式,您需要修改该文件中的main函数。c/c++缩进在很大程度上由Vim内部控制,但有许多不同的选项标志。您可以通过按所需方式配置选项和/或在/indent目录中为缩进文件编写函数来控制c/c++缩进。(我相信在/Dunt目录中没有C++文件,不确定C.VIM是要在那里编辑的文件,或者是否需要创建新的C++ VIM文件。我认为这是使用的C.VIM文件。它基本上是标准VIM安装中的空shell,但是您可以读取其他*.vim缩进文件来了解它们是如何工作的。”要知道tabstop/shiftwidth的哪个值最接近emacs。bzh将它们列为8,4,但我怀疑2,2更合适。有指针吗?@JP19抱歉,我从未使用过emacs,所以我不知道默认外观:)您可以随时尝试