我在ubuntu 12.04上的〜/ .vim / syntax文件夹中有一个custom javascript语法文件,但是当我在vim中打开一个.js文件时,使用的是系统语法:
输出:scriptnames
1: /usr/share/vim/vimrc
2: /usr/share/vim/vim73/debian.vim
3: /usr/share/vim/vim73/syntax/syntax.vim
4: /usr/share/vim/vim73/syntax/synload.vim
5: /usr/share/vim/vim73/syntax/syncolor.vim
6: ~/.vim/filetype.vim
7: /usr/share/vim/vim73/filetype.vim
8: /usr/share/vim/vim73/plugin/getscriptPlugin.vim
9: /usr/share/vim/vim73/plugin/gzip.vim
10: /usr/share/vim/vim73/plugin/matchparen.vim
11: /usr/share/vim/vim73/plugin/netrwPlugin.vim
12: /usr/share/vim/vim73/plugin/rrhelper.vim
13: /usr/share/vim/vim73/plugin/spellfile.vim
14: /usr/share/vim/vim73/plugin/tarPlugin.vim
15: /usr/share/vim/vim73/plugin/tohtml.vim
16: /usr/share/vim/vim73/plugin/vimballPlugin.vim
17: /usr/share/vim/vim73/plugin/zipPlugin.vim
18: ~/.vim/syntax/javascript.vim
19: /usr/share/vim/vim73/syntax/javascript.vim
如何将自定义语法应用于* .js文件?
答案 0 :(得分:1)
您将语法文件放在~/.vim/syntax/javascript.vim
的适当位置。系统语法文件显示其来源的原因。但是,文件中的前几行检查是否有其他语法文件来源。由于已设置了当前语法,因此系统语法文件将退出而不执行任何操作。
因此首先获取自定义的(并且应用了所有突出显示)。然后系统一个来源。这就是为什么你在:scriptnames
因此,为了让vim应用自定义语法规则,您无需执行任何操作,因为所有文件都在正确的位置。
答案 1 :(得分:1)
在我的.../vim73/syntax/javascript.vim
中,我在开头看到以下代码:
if !exists("main_syntax")
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
let main_syntax = 'javascript'
endif
最后:
let b:current_syntax = "javascript"
if main_syntax == 'javascript'
unlet main_syntax
endif
我建议将let b:current_syntax = "javascript"
添加到自定义语法文件的末尾。事实上,我在语法目录中的许多文件中检查exists("b:current_syntax")
,所以你可能应该在你的开头添加一个检查:
if exists("b:current_syntax")
finish
endif