4

操作系统: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 设置的内容。因为:set syntax=foo在 gVim 中使用也不行。
  • :au BufRead,BufNewFile *.foo没有显示 vim/gVim 的检测规则。所以 Vim 只是神奇地工作......
  • 这是语法规则。规则文件中的版本检查是否导致 gVim 无法识别 *.foo 文件?

[vim:脚本名称]

  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:脚本名称]

  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
4

1 回答 1

3

对于 Vim 和 gVim,加载的内容应该是相同的(除非你做一些疯狂的事情,比如'runtimepath'在你的.gvimrc. 您可以检查:scriptnames您的语法检测脚本是否已加载(然后,还有实际的syntax/foo.vim语法脚本)。

另外,:au BufRead,BufNewFile *.foo应该列出你的检测规则。

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

于 2013-10-30T11:53:26.533 回答