2013-10-30 48 views
4

操作系統:CentOS 5.7Vim和gVim文件類型檢測

我想讓兩個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 
+0

把它放到'〜/ .vim/syntax /' – keltar

+0

請將您的語法文件添加到問題中。 – keltar

+0

添加語法文件! – Stan

回答

3

什麼被載入應該是Vim的和gVim的(相同的,除非你做瘋狂的事情像操縱'runtimepath'在你的.gvimrc);你可以用:scriptnames檢查你的語法檢測腳本是否被加載(然後,也是實際的syntax/foo.vim語法腳本)。

此外,:au BufRead,BufNewFile *.foo應列出您的檢測規則。

(其他)語法突出顯示在gVim中有效嗎?如果沒有,那麼你在那裏有一個普遍的問題。

+0

其他語法突出顯示適用於GVIM。 – Stan