为什么 Neovim 不突出显示新创建的文件类型?
Why doesn't Neovim highlight newly created filetype?
我在我的 Sierra 系统上安装了 potion 语言。
还创建了两个目录:
$HOME/.vim/plugin/ftdetect
plus
$HOME/.vim/plugin/syntax
我在里面放了相关的文件类型和语法文件,都命名为potion.vim.
现在,上面提到的 plugin 文件夹中包含的所有内容都是假设的,到目前为止,IS 是在 vim 开始加载的,但奇怪的是,虽然文件类型被识别,但语法是未突出显示。
如果我这样做:
:scriptnames
$HOME/.vim/plugin/syntax/potion.vim
在那儿!
此外,如果我更改 potion.vim 语法文件位置,将其更直接地放在 $HOME/.vim/syntax
目录中,我会正确加载语法。
这是我目前没有的最后一个,如果不需要的话,我不想创建。
换句话说,我更喜欢在 plugin 目录中有新创建的插件,这个目录应该在那里,但由于某些原因它不会在加载时读取。
至少是一部分。
正确的目录是 $HOME/.vim/ftdetect
和 $HOME/.vim/syntax
。 $HOME/.vim/plugin
中的所有内容都将在启动时获取一次。
使用您的目录,两个文件都在启动时获取源代码,因此语法文件仅应用于第一个缓冲区,而不适用于设置 potion
文件类型的所有缓冲区。
当您将语法文件放入 $HOME/.vim/syntax/potion.vim
时,它只会应用于文件类型设置为 potion
的缓冲区,这通过 ftdetect 文件发生,无论发生什么如果它在 $HOME/.vim/plugin/ftdetect
或 $HOME/.vim/ftdetect
,尽管后者是正确的位置。
参见 :h ftdetect
和 :h plugin-details
。
我在我的 Sierra 系统上安装了 potion 语言。 还创建了两个目录:
$HOME/.vim/plugin/ftdetect
plus
$HOME/.vim/plugin/syntax
我在里面放了相关的文件类型和语法文件,都命名为potion.vim.
现在,上面提到的 plugin 文件夹中包含的所有内容都是假设的,到目前为止,IS 是在 vim 开始加载的,但奇怪的是,虽然文件类型被识别,但语法是未突出显示。
如果我这样做:
:scriptnames
$HOME/.vim/plugin/syntax/potion.vim
在那儿!
此外,如果我更改 potion.vim 语法文件位置,将其更直接地放在 $HOME/.vim/syntax
目录中,我会正确加载语法。
这是我目前没有的最后一个,如果不需要的话,我不想创建。
换句话说,我更喜欢在 plugin 目录中有新创建的插件,这个目录应该在那里,但由于某些原因它不会在加载时读取。
至少是一部分。
正确的目录是 $HOME/.vim/ftdetect
和 $HOME/.vim/syntax
。 $HOME/.vim/plugin
中的所有内容都将在启动时获取一次。
使用您的目录,两个文件都在启动时获取源代码,因此语法文件仅应用于第一个缓冲区,而不适用于设置 potion
文件类型的所有缓冲区。
当您将语法文件放入 $HOME/.vim/syntax/potion.vim
时,它只会应用于文件类型设置为 potion
的缓冲区,这通过 ftdetect 文件发生,无论发生什么如果它在 $HOME/.vim/plugin/ftdetect
或 $HOME/.vim/ftdetect
,尽管后者是正确的位置。
参见 :h ftdetect
和 :h plugin-details
。