So legen Sie den vim-Dateityp beim Bearbeiten von Nginx-Konfigurationsdateien fest

16

Wenn ich vim für eine Datei wie öffne /etc/nginx/sites-available/default, funktioniert die Syntaxhervorhebung einwandfrei. Wenn ich dann eine eigene Datei erstelle /etc/nginx/sites-available/myapp, hebt vim die Syntax nicht hervor. Ich muss es :setf confjedes Mal tun .

Kann ~/.vimrcich vim irgendetwas mitteilen, "wenn Sie nicht wissen, welche Syntax Sie verwenden sollen, verwenden Sie einfach conf"?

Eine .vimrcVorlage für ein Vim Noob ist ebenfalls willkommen. Ich benutze es nicht als IDE, ich benutze vim hauptsächlich für Konfigurationsdateien.

Hinweis: Ich verwende Ubuntu 12, falls es darauf ankommt.

HappyDeveloper
quelle
Ich habe Ihren Titel geändert, um genauer darzustellen, was Sie versuchen, und die Frage hier erneut gestellt, da dies im allgemeinen Fall nützlich sein kann: serverfault.com/a/390801/2101
MikeyB
@MikeyB Ich kannte mich mit 'Dateitypen' nicht aus und wusste auch nicht, dass vim die Syntaxhervorhebung nur durch Betrachten des Codes und Erraten der Sprache hätte durchführen können. Und der Hauptteil des Problems war, dass ich wollte, dass es "standardmäßig" ist. Ich wusste bereits, wie man die Sprache / den Dateityp beim Bearbeiten einstellt. Außerdem ist es unerheblich, ob es sich um Nginx oder etwas anderes handelt. Ich habe nie verstanden, warum Serverfault-Leute sich dazu entschließen, Fragen zu schließen oder zu bearbeiten (für SEO vielleicht?). Sofern nicht grammatikalisch falsch, spiegelte der Originaltitel mein Problem wider.
HappyDeveloper
3
Möglicherweise interessant: vim.org/scripts/script.php?script_id=1886 (Ich benutze es und es ist ziemlich nett, füge ein # vim:syn=nginxam Ende der Configs hinzu)
SingleNegationElimination
@ HappyDeveloper: Der Grund, warum ich es bearbeitet habe, war, dass Ihre akzeptierte Antwort "Oh, ich habe wirklich versucht, das zu tun." Zukünftige Besucher können nun nach "Standard-VIM-Dateityp" oder "Standard-VIM-Syntax" suchen und erhalten die richtige Antwort, anstatt frustriert zu werden, da die akzeptierte Antwort nicht angibt, wie der Titel der Frage erstellt werden soll. Außerdem können Sie jetzt auch den Standard-Dateityp festlegen :)
MikeyB
@MikeyB Der neue Titel verwendet nicht einmal das Wort "Standard". Das Original hat es getan.
HappyDeveloper

Antworten:

25

Die folgende Zeile in ~/.vimrcsollte dies tun.

autocmd BufRead,BufNewFile /etc/nginx/sites-*/* setfiletype conf
mgorven
quelle
leichte Korrektur autocmd BufRead, BufNewFile / etc / nginx / sites- / setfiletype conf
1
vim.org/scripts/script.php?script_id=1886 bietet eine bessere Hervorhebung der Syntax als der confDateityp. Wenn Sie Vundle verwenden, versuchen Sie es Plugin 'vim-scripts/nginx.vim'.
Adam Monsen
Für alle .conf-Dateien habe ich den Befehl folgendermaßen eingegeben:autocmd BufRead,BufNewFile *.conf setfiletype conf
Eren Yilmaz,
26

Es gibt tatsächlich einen Nginx-Dateityp, der im offiziellen Nginx-Repository im contrib / vim- Verzeichnis definiert ist. Es bietet eine bessere Hervorhebung der Syntax als conf .

Kopieren Sie dazu die Erkennungslinien in Ihre .vimrc-Datei (und ändern Sie sie wie gewünscht):

au BufRead,BufNewFile *.nginx set ft=nginx
au BufRead,BufNewFile */etc/nginx/* set ft=nginx
au BufRead,BufNewFile */usr/local/nginx/conf/* set ft=nginx
au BufRead,BufNewFile nginx.conf set ft=nginx

Kopieren Sie dann nginx.vim in Ihr Verzeichnis ~ / .vim / syntax .

Alle Nginx-Dateien, die den obigen Regeln entsprechen, sollten jetzt hervorgehoben werden.

Wenn Sie auch den Einzug möchten , können Sie die Datei auch aus dem Einzugsverzeichnis in Ihre .vimrc- Datei kopieren .

colan
quelle