刚刚发现,vim运行所有以相同名称开头的ftplugins。
例如:
检测到的文件类型=ocr
这些文件有不同的版本。因此,我有不同的ftplugins:
ocr=>Base(检查文件版本并设置正确的文件类型)ocr_01=>版本01。。。ocr_n=>版本n
打开ocr文件时,文件类型检测为"ocr"->将加载ocr Base ftplugin。它检查文件的版本(例如01)=>文件类型将设置为ocr_01。
我预计,只有文件类型插件ocr_01加载,但所有以"ocr"开头的ftplugins都是:ocr_01,ocr_02…
如何禁用此功能?
下划线在文件类型插件名称中有特殊含义;它允许为文件类型提供额外的脚本。详见:help ftplugin-name
。
您可以使用不同的分隔符,也可以将其完全删除。然而,请重新考虑你的方法,因为你试图做的是非传统的。(到目前为止,我还没有看到它在野外使用,Vim已经支持了近200种开箱即用的文件类型。)
拥有不同的文件类型可能是个坏主意,因为通常(我不知道你的特定文件类型),即使是不同版本的文件格式也有更多的共同点,而不是差异。通过选择不同的filetype
名称,用户将不得不为每个版本复制他们的设置(以及任何相关的语法自定义)。相反,考虑一下默认的sh
文件类型的作用:它用一个脚本(和语法)处理各种shell(POSIX、Korn、Bash…),并通过缓冲区局部变量(例如b:is_bash
)和它们上的条件来启用特定行为。