Emacs喜欢vim中的严格自动缩进

Ank*_*rVj 2 vim emacs

编辑C文件时,Emacs强制我遵循特定的缩进.当我在错误的缩进行上按Tab键时,它会更正缩进.我想从我的vim编辑器中获取此行为.直到现在我已经做了以下事情:

set cindent
set smartindent
set autoindent
set expandtab
set tabstop=2
set shiftwidth=2
set cinkeys=0{,0},:,0#,!,!^F

在我的.vimrc文件中.但是,我没有达到我想要的类似emacs的强制效果.

在vim中它可能吗?

jam*_*san 11

'smartindent'已经过时了.你真的没有理由在你的vimrc中拥有它.

'cindent'否则'smartindent',在你的vimrc中设置两者都是没有意义的.'cindent'你的vimrc中的设置也不是很有用,因为它只适用于类C语言.

filetype indent on将启用特定于文件类型的缩进插件(cf,下面的indent目录$VIMRUNTIME).'autoindent'无论您正在编辑什么文件类型,配对至少都会为您提供基本的自动缩进支持.

如果要为特定文件类型添加缩进设置,可以在中创建自己的缩进脚本~/.vim/indent/<filetype>.vim,或者~/.vim/after/indent/<filetype>.vim如果要扩充现有的系统范围缩进脚本.

当您发布的设置显示时,按Ctrlf插入模式将执行Emacs按下时所执行的操作Tab.这在以下描述:help indentkeys-format. 'cinkeys''cindent'启用时使用且'indentexpr'为空. 'indentkeys'反过来.修改设置只是稍作修改,因此Tab可以代替/添加Ctrlf.

最后,我建议你学习Vim的帮助.一旦你搞清楚了,它就会非常彻底和易于使用. :help usr_toc是开始用户级文档的好地方. :帮助描述了一些关于导航帮助,如何搜索主题等的基本知识.