我如何知道正在使用什么语法文件?

我如何知道正在使用什么语法文件?

Vim 以一种奇怪的方式高亮我的文件语法,我想知道哪个语法文件导致了这种行为。如何找出 vim 已加载哪些语法文件?

答案1

要找出 Vim 实际加载了哪些文件,请执行

:scriptnames

答案2

可以通过以下方式查询当前缓冲区的语法

:setlocal syntax?

它通常(但不一定)对应于缓冲区的文件类型(:setlocal filetype?)。

为了更深入地了解,

:syntax list

显示所有语法定义(某些语法可以包含其他语言的语法,例如javaJavaDochtml注释标记)。

答案3

您可以查看当前使用的文件类型以及

:verbose set ft ?

处理文件类型的插件最有可能位于

:e $VIMRUNTIME\ftplugin

答案4

我想您想确切地知道当前打开的文件正在使用哪种突出显示配色方案(语法),这是我所做的:

正如 @garyjohn 提到的

:scriptnames

但这将显示当前加载的完整设置列表。

  1: /usr/share/vim/vimrc
  2: ~/.vimrc
  3: /usr/share/vim/vim81/syntax/syntax.vim
  4: /usr/share/vim/vim81/syntax/synload.vim
  5: /usr/share/vim/vim81/syntax/syncolor.vim
  6: /usr/share/vim/vim81/filetype.vim
  7: /usr/share/vim/vim81/plugin/getscriptPlugin.vim
  8: /usr/share/vim/vim81/plugin/gzip.vim
  9: /usr/share/vim/vim81/plugin/logiPat.vim
 10: /usr/share/vim/vim81/plugin/manpager.vim
 11: /usr/share/vim/vim81/plugin/matchparen.vim
 12: /usr/share/vim/vim81/plugin/netrwPlugin.vim
 13: /usr/share/vim/vim81/plugin/rrhelper.vim
 14: /usr/share/vim/vim81/plugin/spellfile.vim
 15: /usr/share/vim/vim81/plugin/tarPlugin.vim
 16: /usr/share/vim/vim81/plugin/tohtml.vim
 17: /usr/share/vim/vim81/plugin/vimballPlugin.vim
 18: /usr/share/vim/vim81/plugin/zipPlugin.vim
 19: ~/.vim/syntax/applescript.vim

那么究竟哪一个人在做着色? => 最后一个始终是决策者(例如):

~/.vim/syntax/applescript.vim

就我而言,我想测试 applescript.vim 的最后下载的语法是否有效。

另一方面,请记住 vim 语法是基于文件类型/扩展名的,因此请仔细检查 文件定义/usr/share/vim/vim81/filetype.vim,您可以轻松发现 AppleScript 有其独特的扩展名定义为.scpt(作为标准)。

希望这也有帮助。

相关内容