我正在开发一个大型代码库,每个文件都有不同的缩进约定:制表符,4个空格,3个空格等。
我当前默认选项卡并在遇到空格缩进文件时执行set shiftwidth=N expandtab smarttab
,但这很烦人。
Vim或插件中是否有任何功能可以识别,例如,当前缓冲区使用每个班次有三个空格的缩进?
答案 0 :(得分:19)
存在尝试处理该情况的各种插件。以下是我在vim.org上搜索detect indent
答案 1 :(得分:2)
好问题,我也遇到了同样的问题,最近我为自己编写了这样一个vim插件:https://github.com/luochen1990/indent-detector.vim
它具有以下功能:
- 检测bufEnter和bufWrite上的混合缩进和回声警告 自动。
- 切换有关缩进的设置以自动适应当前的缩进样式。
- 检测时间有限,所以你没有 需要担心打开大文件。
我认为它设计得很好,需要知道,如果您有任何建议,请在github上发布问题:)