我在Sierra系统上安装了potion语言。 还创建了两个目录:
$HOME/.vim/plugin/ftdetect
plus
$HOME/.vim/plugin/syntax
在其中放置了相关的文件类型和语法文件,都命名为 potion.vim 。
现在,应该假定上述 plugin 文件夹中包含的所有内容,并且到目前为止,都是在vim启动时加载了IS,但是奇怪的是,虽然可以识别文件类型,但语法未突出显示。
如果我这样做:
:scriptnames
$HOME/.vim/plugin/syntax/potion.vim
在这里!
此外,如果更改 potion.vim 语法文件的位置,并将其更直接地放在$HOME/.vim/syntax
目录中,则可以正确加载语法。
我到目前为止还没有这个最后一个,如果不需要的话,我不想创建。
换句话说,我宁愿在 plugin 目录中拥有新创建的插件,该插件应专门用于此目的,但由于某些原因,它在加载时不会读取。
至少有一部分。
答案 0 :(得分:1)
正确的目录是$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
。