2010-07-20 86 views
3

我正在編寫一個GLSL片段着色器的項目,它只是發生它具有文件擴展名.fs,因此vim會在打開文件時自動加載第四個語法。如何禁止vim自動爲某些文件類型加載語法文件?

這通常不會有什麼問題,我可以改變使用au BufRead語法,但由於某些原因,提出語法第一次加載,這完全弄亂的東西了。它將更多的字符添加到導致語法突出顯示和動作無法按預期工作的「單詞」中。

有沒有辦法停止加載第四語法,只加載我指定的語法?

+0

如果你做手工':設置SYN = glsl',是否工作根據需要? – earl 2010-07-20 04:06:38

+0

nope,損壞已在文件加載後完成。我找到了改變的路線,我可以撤消它,但我希望找到更清晰的解決方案。 如果你有興趣,它是'set iskeyword'。 – leafo 2010-07-20 04:22:11

回答

6

.vim目錄(或Windows vimfiles目錄)中創建一個名爲filetype.vim,並把這個代碼是:

if exists("did_load_filetypes") 
    finish 
endif 

augroup filetypedetect 

    " Ignore filetypes for *.fs files 
    autocmd! BufNewFile,BufRead *.fs setfiletype ignored 

augroup END 

這地方自定義文件類型檢測腳本提前Vim的默認文件類型自動命令的,所以您的檢測自動命令有機會在通常的Vim腳本之前確定文件類型。

重新啓動Vim並嘗試加載.fs文件後,應該不再使用Forth語法高亮顯示,並且iskeyword仍應設置爲默認值。 (如果你已經安裝了GLSL片段文件語法文件,可以更換ignored用適當的文件類型的名稱。)

看到這些主題,詳細信息:

:help remove-filetype 
:help new-filetype 
:help :setfiletype 
+0

謝謝,這個作品很棒。 – leafo 2010-07-22 05:14:20

0

以下行添加到你的語法文件的末尾:

let b:current_syntax = "<filetype>" 
相關問題