2014-01-29 14 views
7

Meine ~/.vimrc enthält die folgende Zeile geladen:Vim: Syntax-Datei nicht automatisch

au BufNewFile,BufRead *.fsh,*.vsh setf glsl 

Mein ~/.vim/syntax Verzeichnis enthält glsl.vim, die manuell, wenn geladen arbeitet (:setf glsl in Vim), aber es wird nicht automatisch geladen werden, wenn eine Bearbeitung Datei mit diesen Erweiterungen. Wie erhalte ich Syntax-Highlighting für diese Dateien automatisch? Syntax Highlighting funktioniert wie gewohnt für andere Dateien. Meine Vim-Version läuft 7.4 unter Linux Mint.

+2

Dies könnte ein Schuss im Dunkeln, aber: Sie haben versucht, die erweiterte Form mit 'set filetype = glsl' statt' setf glsl'? –

+2

@ Nadir Sampaoli: Das ist keine "erweiterte Form", es ist ein anderes Kommando. Siehe ': help: setf'. – benjifisher

+1

@ SurvivalMachine: Was passiert mit ': e foo.fsh' und dann': verbose set ft? '? Wie wäre es mit ': verbose au BufNewFile * .fsh'? – benjifisher

Antwort

2

Ich glaube nicht, dass diese Linie in Ihrem ~/.vimrc sein kann. Aufgrund des Ladeauftrags muss es möglicherweise stattdessen in sein. Versuchen Sie setzen dieses in diese Datei:

augroup filetypedetect 
    au BufNewFile,BufRead *.fsh,*.vsh setf glsl 
augroup END 
+0

VIM-Befehle können in .vimrc sein. Das ist der Sinn seiner Existenz. –

+1

Vim-Befehle * können * in .vimrc sein, aber sie können auch anderswo sein. Dateitypbefehle sollen sich in filetype.vim befinden, und ich hatte Probleme, es in der Vergangenheit in .vimrc zu erzwingen. Dies liegt daran, Ladereihenfolge Materie kann, wie angedeutet durch [diese Frage] (https://stackoverflow.com/questions/2889766/best-way-to-organize-filetype-settings-in-vim-and-vimrc). –

+0

Versucht, es zu '/ usr/share/vim/vim73/filetype.vim' hinzuzufügen. Nachdem ich 'au BufNewFile, BufRead * .fsh, *. Vsh setf glsl' in' ~/.vim/filetype.vim' gesetzt habe, funktionierte es. – PeqNP

Verwandte Themen