0

刚刚发现,vim 运行所有以相同名称开头的 ftplugin。

例如:

检测到的文件类型 = ocr

这些文件有不同的版本。因此我有不同的ftplugins:

ocr => Base(检查文件版本并设置正确的文件类型) ocr_01 => 版本 01 ... ocr_n => 版本 n

打开 ocr 文件时,文件类型被检测为 'ocr' -> 将加载 ocr-Base-ftplugin。它检查文件的版本(例如 01)=> 文件类型将设置为 ocr_01。

我希望,只有文件类型插件 ocr_01 加载,但所有以 'ocr' 开头的 ftplugin 都是:ocr_01,ocr_02 ....

如何禁用此功能?

4

1 回答 1

3

下划线在文件类型插件名称中具有特殊含义;它允许为文件类型添加额外的脚本。详情请参阅:help ftplugin-name

您可以只使用不同的分隔符或将其完全删除。但是,请重新考虑您的方法,因为您尝试做的是非常规的。(到目前为止,我还没有看到它在野外使用过,而且 Vim 已经支持近 200 种开箱即用的文件类型。)

拥有不同的文件类型可能是个坏主意,因为通常(我不知道您的特定文件类型),即使是文件格式的不同版本也比差异有更多的共同点。通过选择不同的filetype名称,用户将不得不为每个版本复制他们的设置(以及任何相关的语法自定义)。相反,请考虑默认sh文件类型的作用:它使用单个脚本(和语法)处理各种 shell(POSIX、Korn、Bash,...),并通过缓冲区局部变量(例如b:is_bash)和它们的条件来启用特定行为。

于 2013-07-26T08:10:19.113 回答