vim nimmt keine neuen Syntaxdateien auf

557
spraff

Ich habe diese GLSL-Syntaxdatei nach kopiert /usr/share/vim/vim74/syntax/glsl.vim, ihre Berechtigungen sind -rw-r--r--mit den anderen Syntaxdateien identisch.

Ich gvim /tmp/x.glslaktiviere jedoch nicht die GLSL-Syntax-Markierung wie erwartet.

Ich gehe zu Syntax > Show fileypes in menuund das gesamte Spektrum an anerkannten Sprachen öffnet sich. Es gibt nichts unter "G" für "GLSL", noch etwas unter "O" für "OpenGL".

Was muss ich tun, damit vim die neue glsl.vimSyntaxhervorhebungsspezifikation bemerkt ?

1

1 Antwort auf die Frage

0
Ingo Karkat

Die Syntax > Show filetypes in menuHandlungsquellen $VIMRUNTIME/synmenu.vim. Wenn Sie das öffnen, sehen Sie das

 " The following menu items are generated by makemenu.vim. 

Es scheint also eine statische Sache zu sein, die während der Build-Zeit von Vim erstellt wurde. Es werden leider keine hinzugefügten oder benutzerspezifischen Syntax verwendet.

Das Verzeichnis /usr/share/vim/wird vom Paketmanager Ihrer Distribution verwaltet. Wenn Sie Dateien dort ablegen, gehen sie möglicherweise verloren, wenn Sie Vim neu installieren oder aktualisieren. Tu das nicht Die unkomplizierte Lösung ist das Einfügen ~/.vim/syntax/; es gilt dann nur für dich. [1]

Vim unterscheidet zwischen Syntaxhervorhebung und Dateitypen . Damit Ihre hinzugefügte Syntax angewendet werden kann, müssen Sie GLSL-Dateien erkennen. :help new-filetypesagt dir, wie es geht.

Eine (modulare) Möglichkeit, dies zu tun, ist das Erstellen ~/.vim/ftdetect/glsl.vimmit den folgenden Inhalten:

au BufRead,BufNewFile *.glsl set filetype=glsl 

Du brauchst :filetype onund :syntax onin deiner ~/.vimrcauch, aber das sind sehr häufige Einstellungen, also hast du wahrscheinlich schon die.


[1] Wenn Sie ein Mehrbenutzersystem haben und es systemweit verfügbar machen müssen, legen Sie es woanders hin 'runtimepath'. Abhängig von Ihrer Distribution ist möglicherweise bereits ein solcher Pfad vorkonfiguriert (z. B. in /etc/vim/vimrcDebian) oder die Möglichkeit, systemspezifische Konfigurationen (z. B. /etc/vim/vimrc.local) zu erhalten, und Sie können den Pfad erweitern 'runtimepath'.