Vim - 像Emacs一样缩进

7 vim emacs indentation

我使用vim(主要的,以便我可以在普通的ssh终端上工作 - 仍然对Emacs非gui版本感到不舒服),但组织中的大多数同事都使用emacs.因此,使用CVS,我们会遇到缩进不一致问题(制表符变为空格,制表符/空格数,代码布局等).

有没有办法让VIM作为EMACS完全缩进.(类似于我的同事使用的默认emacs配置文件).

(最重要的是,我希望vim的C++和TCL缩进方案与emacs相匹配).

问候,

J.P

all*_*ait 6

我不知道是否有办法直接将Emacs缩进设置导入到vim中,但您可以在vim中配置相同的行为:

set expandtab将标签转换为空格
set autoindent将保持前一行的缩进级别
set shiftwidth=4将影响块缩进与>>和<<
set softtabstop=4设置空格中软标签的长度
set tabstop=8设置制表符的宽度

这在vim wiki中得到了恰当的解释.

当您需要特定于文件类型的缩进时,您有两个选择:

  1. 设置autocmd以更改文件读取和文件创建时的缩进:
    au BufRead,BufNewFile *.py,*pyw,*.html,*.js set shiftwidth=4将为*.py文件设置shiftwidth.
  2. 配置文件类型插件,name.vim.vim/ftplugin文件夹内为特定文件类型创建脚本,并在那里设置所描述的变量.这在vim wiki中也有详细描述.