自定义vim语法突出显示脚本——为什么它们在Windows中工作而在Linux中不工作?

自定义vim语法突出显示脚本——为什么它们在Windows中工作而在Linux中不工作?,linux,vim,Linux,Vim,我编写了一个vim脚本,用于突出显示专有查询语言的语法。它可以在运行gvim 7.3的Windows 7机器上正常工作,但它拒绝在Linux上工作。我的测试箱是CentOS 6。我已经让内置的语言突出显示脚本在CentOS中工作,但是由于某些原因,我添加到/usr/share/vim/vim72/syntax目录中的任何自定义语法脚本即使在显式运行时也无法识别 :set filetype=on :set syntax=on :set ft=cy 使用cy.vim作为语法脚本的名称。我查看了ft

我编写了一个vim脚本,用于突出显示专有查询语言的语法。它可以在运行gvim 7.3的Windows 7机器上正常工作,但它拒绝在Linux上工作。我的测试箱是CentOS 6。我已经让内置的语言突出显示脚本在CentOS中工作,但是由于某些原因,我添加到/usr/share/vim/vim72/syntax目录中的任何自定义语法脚本即使在显式运行时也无法识别

:set filetype=on
:set syntax=on
:set ft=cy
使用cy.vim作为语法脚本的名称。我查看了ftplugin脚本,看看是否有什么特别的东西将文件类型指向语法脚本,但我看不到任何东西。。。我还有另外一个cy.vim文件

augroup cy,Q,q
au BufNewFile,BufRead *.cy,*.Q,*.q set filetype=cy 
augroup end
通常我只是将上述内容保存在我的_vimrc文件中,但由于我甚至无法使用显式命令来突出显示,我怀疑加载时的自动文件类型识别是否有效。 有人能解释一下为什么我的语法脚本在Windows上工作得很好,但在Linux上却完全不工作吗?我已经尝试了所有常用的方法,例如确保安装了vim common/vim full/vim enhanced,而不是vim minimal/vim tiny。任何帮助都将不胜感激

谢谢,
CCJ

能否通过完整路径加载语法文件

:so /path/to/file.vim
语法文件的权限是什么

ls -l /path/to/file.vim

可以通过完整路径加载语法文件吗

:so /path/to/file.vim
语法文件的权限是什么

ls -l /path/to/file.vim

在Linux机器上,vim将使用~/.vimrc和~/.vim/

尝试以下命令查看vim文件类型:

:echo &ft
请尝试以下命令以查看文件是否已加载:

:scriptnames

在Linux机器上,vim将使用~/.vimrc和~/.vim/

尝试以下命令查看vim文件类型:

:echo &ft
请尝试以下命令以查看文件是否已加载:

:scriptnames

我相信问题可能与我的xterm设置有关;在Solaris上,我遇到了相同的问题,直到我明确地将xterm窗口设置为支持文本颜色和更新的ncurses,根据此处的wiki:
我还无法在CentOS Linux上重新访问,但这解决了Solaris的问题

我相信问题可能与我的xterm设置有关;在Solaris上,我遇到了相同的问题,直到我明确地将xterm窗口设置为支持文本颜色和更新的ncurses,根据此处的wiki:
我还无法在CentOS Linux上重新访问,但这解决了Solaris的问题

hmm,这很奇怪。。。我的脚本上的权限是755和,但所有其他语法脚本都是644。这是否意味着VIM/Linux误解了VIM脚本文件的预期用途?我尝试将权限修改为644,但仍然无法工作…如何通过完整路径加载语法文件?有没有VIM命令可以显式加载语法文件而不涉及文件类型?嗯,这很奇怪。。。我的脚本上的权限是755和,但所有其他语法脚本都是644。这是否意味着VIM/Linux误解了VIM脚本文件的预期用途?我尝试将权限修改为644,但仍然无法工作…如何通过完整路径加载语法文件?是否有VIM命令显式加载语法文件而不涉及文件类型?文件类型在我的测试源代码中正确加载为cy,并且加载cy.VIM脚本。。。我在主目录中看不到.vimrc或.vim文件。我应该显式地创建它们吗?如果是这样,它们的内容应该是什么?文件类型在我的测试源代码中正确加载为cy,并且加载了cy.vim脚本。。。我在主目录中看不到.vimrc或.vim文件。我应该显式地创建它们吗?如果是,它们的内容应该是什么?