2012-11-05 57 views
2

我使用Linux Mint的13瑪雅肉桂64位。我的Vim版本是7.3,我安裝了最新版本的Janus。語法高亮顯示在劍鋒不工作的Vim的

我發現,在其內容哈希「#」的任何文件,語法高亮顯示的文件不起作用。例如,

# test 

print "Hello" 

當我編輯文件時,「打印」有顏色。但是當我保存並再次打開時,整個文件會丟失語法高亮。

如果我刪除了第一線,並保存,語法高亮回來後,我再次打開它。

這適用於所有類型的文件,如的.py,.C和.h。如果文件中存在散列「#」字符,則語法高亮不起作用。

我已經嘗試過,但沒有改變「的語法」。

+0

什麼是原來的(預期),以及什麼錯誤的文件類型:':賽特文件類型' –

+0

原:蟒蛇 後:CONF – Jeremy

+0

啊,所以它運行到'filetype.vim'中的_general configuration_ fallback。這應該只在沒有其他文件類型(如Python,根據文件擴展名)被設置時纔會發生。如果沒有Janus,我不會看到這個問題,可能是因爲發行版混亂了正確的文件類型檢測順序。 –

回答

3

我不知道劍鋒所以這個答案可能不適合你100%有用,但讓我們來看看。你可以試着找出設置的位置。試試這個:

獲取當前設置:

:set filetype? syntax? 

檢查,其中這些都已經設置:

:verbose set filetype? syntax? 

執行這些命令,當你失去了你的語法高亮:

:syntax on 
:set ft=python 
:verbose set ft? syn? 

這裏你應該看看哪個腳本在保存後改變了你的文件類型。通常情況下,如果文件擴展名不明確,vim會使用啓發式來確定正確的文件類型。在這些啓發式不起作用的情況下,您通常會在您的vimrc中將全局變量設置爲固定值。在你的情況,這將是這樣的:

let g:filetype_py="python" 
+0

當我運行「:verbose set filetype?syntax?」時我得到的文件類型=的conf 最後一組從/usr/share/vim/vim73/filetype.vim 語法=的conf 最後一組從/usr/share/vim/vim73/syntax/syntax.vim – Jeremy

+0

現在有一個看看的filetype.vim。應該有一行'''au BufNewFile,BufRead * .py,*。pyw setf python''' - 並且稍後在該文件中您會發現一條評論'''通用配置文件'''這可能是您的負責人。保存文件後進行conf設置。文件擴展名在保存後是否仍然設置?見''':echo expand('%:e')''' – steffen

+0

一切看起來都很正常。展開('%:e')顯示py – Jeremy