首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vim在我的自定义语法之后加载系统语法,所以我的自定义语法不会被应用

Vim在我的自定义语法之后加载系统语法,所以我的自定义语法不会被应用
EN

Stack Overflow用户
提问于 2013-05-22 11:47:56
回答 2查看 696关注 0票数 0

我在Ubuntu12.04上的~/.vim/ custom文件夹中有一个.js javascript语法文件,但当我在vim中打开一个vim文件时,它使用的是系统语法:

输出:scriptname

代码语言:javascript
复制
  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文件?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-22 11:51:13

您已将语法文件放置在适当的位置,即~/.vim/syntax/javascript.vim。系统语法文件显示其来源的原因。但是,文件中的前几行检查是否有其他语法文件。由于已经设置了当前语法,因此系统语法文件将退出而不执行任何操作。

因此,首先是定制的源(并且应用了所有的突出显示)。那么这个系统就是一个来源。这就是为什么您可以在:scriptnames的输出中看到这两者的原因

因此,要让vim应用自定义语法规则,您不需要做任何事情,因为所有文件都在正确的位置。

票数 1
EN

Stack Overflow用户

发布于 2013-05-22 11:56:30

在我的.../vim73/syntax/javascript.vim中,我在开头看到了以下代码:

代码语言:javascript
复制
if !exists("main_syntax")
  if version < 600
    syntax clear
  elseif exists("b:current_syntax")
    finish
  endif
  let main_syntax = 'javascript'
endif

最后:

代码语言:javascript
复制
let b:current_syntax = "javascript"
if main_syntax == 'javascript'
  unlet main_syntax
endif

我建议在自定义语法文件的末尾添加let b:current_syntax = "javascript"。实际上,我检查了exists("b:current_syntax")目录中许多文件中语法,所以您可能也应该在开头添加一个检查:

代码语言:javascript
复制
if exists("b:current_syntax")
    finish
endif
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16683149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档