我正在編寫一個GLSL片段着色器的項目,它只是發生它具有文件擴展名.fs
,因此vim會在打開文件時自動加載第四個語法。如何禁止vim自動爲某些文件類型加載語法文件?
這通常不會有什麼問題,我可以改變使用au BufRead
語法,但由於某些原因,提出語法第一次加載,這完全弄亂的東西了。它將更多的字符添加到導致語法突出顯示和動作無法按預期工作的「單詞」中。
有沒有辦法停止加載第四語法,只加載我指定的語法?
我正在編寫一個GLSL片段着色器的項目,它只是發生它具有文件擴展名.fs
,因此vim會在打開文件時自動加載第四個語法。如何禁止vim自動爲某些文件類型加載語法文件?
這通常不會有什麼問題,我可以改變使用au BufRead
語法,但由於某些原因,提出語法第一次加載,這完全弄亂的東西了。它將更多的字符添加到導致語法突出顯示和動作無法按預期工作的「單詞」中。
有沒有辦法停止加載第四語法,只加載我指定的語法?
在.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
謝謝,這個作品很棒。 – leafo 2010-07-22 05:14:20
以下行添加到你的語法文件的末尾:
let b:current_syntax = "<filetype>"
如果你做手工':設置SYN = glsl',是否工作根據需要? – earl 2010-07-20 04:06:38
nope,損壞已在文件加載後完成。我找到了改變的路線,我可以撤消它,但我希望找到更清晰的解決方案。 如果你有興趣,它是'set iskeyword'。 – leafo 2010-07-20 04:22:11