Comment définir le type de fichier vim lors de la modification des fichiers de configuration nginx

17

Lorsque j'ouvre vim pour un fichier comme /etc/nginx/sites-available/default, la coloration syntaxique fonctionne très bien. Mais si je crée mon propre fichier /etc/nginx/sites-available/myapp, vim ne met pas en évidence sa syntaxe. Je dois faire à :setf confchaque fois.

Y a-t-il quelque chose que je puisse faire ~/.vimrcpour dire à vim "si vous ne savez pas quelle syntaxe utiliser, utilisez simplement conf"?

Un .vimrcmodèle pour un noob vim est également le bienvenu. Je ne l'utilise pas comme IDE, j'utilise principalement vim uniquement pour les fichiers de configuration.

Remarque: j'utilise Ubuntu 12, au cas où cela importerait.

HappyDeveloper
la source
J'ai changé votre titre pour refléter plus précisément ce que vous essayez de faire et j'ai re-posé la question ici, car cela peut être utile dans le cas général: serverfault.com/a/390801/2101
MikeyB
@MikeyB Je ne connaissais pas les 'types de fichiers' ou je m'en fichais, pour autant que je sache, vim aurait pu faire la coloration syntaxique simplement en regardant le code et en devinant la langue. Et la partie principale du problème était que je voulais que ce soit «par défaut». Je savais déjà comment «définir la langue / le type de fichier lors de l'édition». De plus, que ce soit pour nginx ou autre chose, cela n'a pas d'importance. Faites comme vous voulez, je n'ai jamais compris pourquoi les gens qui font une erreur de serveur décident de fermer ou d'éditer des questions (pour le SEO peut-être?). Sauf grammaticalement incorrect, le titre original reflétait mon problème.
HappyDeveloper
3
peut-être intéressant: vim.org/scripts/script.php?script_id=1886 (je l'utilise et c'est plutôt sympa, ajoutez un # vim:syn=nginxau bas des configs)
SingleNegationElimination
@HappyDeveloper: la raison pour laquelle je l'ai édité est que votre réponse acceptée indique "Oh, j'essayais vraiment de faire ça." Désormais, les futurs visiteurs pourront rechercher le `` type de fichier vim par défaut '' ou la `` syntaxe vim par défaut '' et obtenir la bonne réponse pour cela au lieu d'être frustrés car la réponse acceptée ne dit pas comment accomplir le titre de la question. De plus, maintenant vous savez également comment définir le type de
fichier
@MikeyB Le nouveau titre n'utilise même pas le mot «par défaut». L'original l'a fait.
HappyDeveloper

Réponses:

26

La ligne suivante ~/.vimrcdoit le faire.

autocmd BufRead,BufNewFile /etc/nginx/sites-*/* setfiletype conf
mgorven
la source
légère correction autocmd BufRead, BufNewFile / etc / nginx / sites- / setfiletype conf
1
vim.org/scripts/script.php?script_id=1886 fournit une meilleure coloration syntaxique que le type de conffichier. Si vous utilisez Vundle, essayez Plugin 'vim-scripts/nginx.vim'.
Adam Monsen
Pour tous les fichiers .conf, j'ai mis la commande comme ceci:autocmd BufRead,BufNewFile *.conf setfiletype conf
Eren Yilmaz
26

Il existe en fait un type de fichier Nginx défini dans le référentiel Nginx officiel dans le répertoire contrib / vim . Il fournit une meilleure coloration syntaxique que conf .

Pour l'utiliser, copiez les lignes de détection dans votre .vimrc (et ajustez comme vous le souhaitez):

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

Copiez ensuite nginx.vim dans votre répertoire ~ / .vim / syntax .

Tous les fichiers Nginx suivant les règles ci-dessus doivent maintenant être mis en surbrillance.

Si vous souhaitez également le retrait, vous pouvez également copier le fichier du répertoire de retrait dans votre .vimrc .

colan
la source