我在Sierra系统上安装了potion语言。还创建了两个目录:
$HOME/.vim/plugin/ftdetect
plus
$HOME/.vim/plugin/syntax
其中我放了相关的文件类型和语法文件,都命名为potion.vim。 现在,上面提到的插件文件夹中包含的所有内容都是假设的,到目前为止,IS是在vim start处加载的,但奇怪的是,虽然文件类型被识别,但语法不会突出显示。 如果我做:
:scriptnames
$HOME/.vim/plugin/syntax/potion.vim
在那里!
此外,如果我更改potion.vim语法文件位置,将其更直接地放在$HOME/.vim/syntax
目录中,我会正确加载语法。
这是迄今为止我没有的最后一个,如果没有必要,我不想创作。 换句话说,我更喜欢在插件目录中新创建的插件,它应该在那里用于此目的,但由于某种原因它不会在加载时读取。 至少部分内容。
正确的目录是$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
。