2012-03-07 18 views
19

我工作在一个大的代码库,每个文件都有不同的缩进约定:标签,4个空格,3个空格等vim可以自动识别缩进样式(制表符与空格)吗?

我目前拖欠的标签,做set shiftwidth=N expandtab smarttab当我遇到一个空格缩进文件,但这很烦人。

Vim中是否有任何功能,或者是一个插件,它可以识别出,例如,当前缓冲区每个班次使用三个空格的缩进?

回答

18

存在各种尝试处理这种情况的插件。下面是一些我发现通过搜索detect indent在vim.org

+1

侦探似乎工作比DetectIndent更好,在我的测试五分钟。无论出于何种原因,即使是一个简单的,一致格式的C文件(其大小为2的选项卡,DetectIndent认为它的大小为4),DetectIndent也会做出不正确的猜测。 – Kat 2014-10-23 10:04:40

2

好问题,我面对也是同样的问题,最近我写了这样一个vi为自己米插件:https://github.com/luochen1990/indent-detector.vim

它具有以下特点:

  • 检测上bufEnter和bufWrite 自动混合缩进和回波WARNNING。
  • 切换有关缩进的设置以自动适应当前缩进样式。
  • 检测时间有限,所以你不需要担心打开大文件 。

我认为这是精心设计的,并且需要知道,张贴在GitHub上的问题,如果您有任何建议:)

相关问题