微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Vim和gVim文件类型检测

操作系统:CentOS 5.7

我想让两个gVim / Vim都有一个文件类型的语法高亮.到目前为止我做了:

>在〜/ .vim / ftdetect / foo.vim创建语法文件.
>使用Vim可以自动检测新文件类型并启用语法突出显示. $vim myfile.foo
>但是gVim没有语法高亮.

我试着在〜/ .gvimrc中添加这一行:

au BufRead,BufNewFile *.foo set filetype=foo

但看起来gVim根本没有加载〜/ .vim / ftdetect / foo.vim.我该如何配置gVim?

>将foo.vim移动到〜/ .vim / Syntax /对两个Vim / gVim都不起作用.他们无法自动检测〜/ .vim / Syntax文件夹.
>下面是脚本名列表(用于表示由gVim加载的额外文件的标志),gVim确实加载了foo.vim,但不知道如何找出覆盖foo.vim设置的内容.由于使用:gVim中的set Syntax = foo也不起作用.
>:au BufRead,BufNewFile * .foo对vim / gVim都没有显示检测规则.所以Vim神奇地工作……
>这是syntax rule.规则文件中的版本检查是否导致gVim无法识别* .foo文件

[VIM:输出scriptnames]

1: /etc/vimrc
  2: /usr/share/vim/vim70/Syntax/Syntax.vim
  3: /usr/share/vim/vim70/Syntax/synload.vim
  4: /usr/share/vim/vim70/Syntax/syncolor.vim
  5: /usr/share/vim/vim70/filetype.vim
  6: /home/myusername/.vim/ftdetect/foo.vim
  7: /home/myusername/.vimrc
  8: /usr/share/vim/vim70/plugin/getscript.vim
  9: /usr/share/vim/vim70/plugin/gzip.vim
 10: /usr/share/vim/vim70/plugin/matchparen.vim
 11: /usr/share/vim/vim70/plugin/netrwPlugin.vim
 12: /usr/share/vim/vim70/plugin/rrhelper.vim
 13: /usr/share/vim/vim70/plugin/spellfile.vim
 14: /usr/share/vim/vim70/plugin/tarPlugin.vim
 15: /usr/share/vim/vim70/plugin/tohtml.vim
 16: /usr/share/vim/vim70/plugin/vimballPlugin.vim
 17: /usr/share/vim/vim70/plugin/zipPlugin.vim
 18: /usr/share/vim/vim70/scripts.vim

[GVIM:scriptnames]

1: /etc/vimrc
  2: /usr/share/vim/vim70/Syntax/Syntax.vim
  3: /usr/share/vim/vim70/Syntax/synload.vim
  4: /usr/share/vim/vim70/Syntax/syncolor.vim
  5: /usr/share/vim/vim70/filetype.vim
  6: /home/myusername/.vim/ftdetect/foo.vim
+  7: /usr/share/vim/vim70/menu.vim
+  8: /usr/share/vim/vim70/autoload/paste.vim
  9: /home/myusername/.vimrc
 10: /usr/share/vim/vim70/plugin/getscript.vim
 11: /usr/share/vim/vim70/plugin/gzip.vim
 12: /usr/share/vim/vim70/plugin/matchparen.vim
 13: /usr/share/vim/vim70/plugin/netrwPlugin.vim
 14: /usr/share/vim/vim70/plugin/rrhelper.vim
 15: /usr/share/vim/vim70/plugin/spellfile.vim
 16: /usr/share/vim/vim70/plugin/tarPlugin.vim
 17: /usr/share/vim/vim70/plugin/tohtml.vim
 18: /usr/share/vim/vim70/plugin/vimballPlugin.vim
 19: /usr/share/vim/vim70/plugin/zipPlugin.vim
+ 20: /home/myusername/.gvimrc
+ 21: /usr/share/vim/vim70/colors/torte.vim
 22: /usr/share/vim/vim70/scripts.vim

解决方法

对于Vim和gVim来说,加载的内容应该是相同的(除非你像在.gvimrc中操作’runtimepath’那样做疯狂的事情);您可以查看:scriptnames是否加载了语法检测脚本(然后还有实际的语法/ foo.vim语法脚本).

此外,:au BufRead,BufNewFile * .foo应列出您的检测规则.

(其他)语法突出显示在gVim中有用吗?!如果没有,那么你就有一个普遍的问题.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐