gpt4 book ai didi

vim - 为什么检查自定义文件类型文件中的 did_load_filetypes?

转载 作者:行者123 更新时间:2023-12-05 02:23:00 24 4
gpt4 key购买 nike

来自 vim 维基:

Custom filetype.vim files should always have the following structure:

if exists("did_load_filetypes")
finish
endif

augroup filetypedetect
" au! commands to set the filetype go here
augroup END

我想知道为什么 if...endif 部分是必需的?

我认为这基本上意味着如果文件类型已经加载,则跳过加载此脚本。但在那种情况下,创建自定义文件类型文件有什么意义呢?

最佳答案

这只是一个包含防护,以避免您的自定义文件类型被意外地多次获取。

如果一切顺利,这看起来确实是多余的,但是考虑到用户配置、插件管理器等方面的所有变化,还是安全一些为好。它使 Vim 无需重新处理可能很大的定义列表,从而加快了启动速度。

当这实际上是两次采购时会发生什么?

如果您使用 :autocmd 而不是 :autocmd!,您所有的检测都将被定义两次。 (注意这里不能用一个初始的 :autocmd! 来清除所有之前的定义,因为涉及到多个 filetype.vim 文件,每个文件只添加 到现有的。)

关于vim - 为什么检查自定义文件类型文件中的 did_load_filetypes?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25975232/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com