我工作在一个大的代码库,每个文件都有不同的缩进约定:标签,4个空格,3个空格等vim可以自动识别缩进样式(制表符与空格)吗?
我目前拖欠的标签,做set shiftwidth=N expandtab smarttab
当我遇到一个空格缩进文件,但这很烦人。
Vim中是否有任何功能,或者是一个插件,它可以识别出,例如,当前缓冲区每个班次使用三个空格的缩进?
我工作在一个大的代码库,每个文件都有不同的缩进约定:标签,4个空格,3个空格等vim可以自动识别缩进样式(制表符与空格)吗?
我目前拖欠的标签,做set shiftwidth=N expandtab smarttab
当我遇到一个空格缩进文件,但这很烦人。
Vim中是否有任何功能,或者是一个插件,它可以识别出,例如,当前缓冲区每个班次使用三个空格的缩进?
存在各种尝试处理这种情况的插件。下面是一些我发现通过搜索detect indent
在vim.org
好问题,我面对也是同样的问题,最近我写了这样一个vi为自己米插件:https://github.com/luochen1990/indent-detector.vim
它具有以下特点:
- 检测上bufEnter和bufWrite 自动混合缩进和回波WARNNING。
- 切换有关缩进的设置以自动适应当前缩进样式。
- 检测时间有限,所以你不需要担心打开大文件 。
我认为这是精心设计的,并且需要知道,张贴在GitHub上的问题,如果您有任何建议:)
侦探似乎工作比DetectIndent更好,在我的测试五分钟。无论出于何种原因,即使是一个简单的,一致格式的C文件(其大小为2的选项卡,DetectIndent认为它的大小为4),DetectIndent也会做出不正确的猜测。 – Kat 2014-10-23 10:04:40