Cómo configurar el tipo de archivo vim al editar archivos de configuración nginx


17

Cuando abro vim para un archivo como /etc/nginx/sites-available/default, el resaltado de sintaxis funciona bien. Pero luego, si creo mi propio archivo /etc/nginx/sites-available/myapp, vim no resalta su sintaxis. Tengo que hacer :setf conftodo el tiempo.

¿Hay algo que pueda poner ~/.vimrcpara decirle a vim "si no sabe qué sintaxis usar, simplemente use conf"?

Una .vimrcplantilla para un novato vim también es bienvenida. No lo estoy usando como IDE, uso vim principalmente solo para archivos de configuración.

Nota: Estoy usando Ubuntu 12, en caso de que sea importante.


Cambié su título para reflejar con mayor precisión lo que está tratando de hacer y volví a hacer la pregunta aquí, ya que esto puede ser útil en el caso general: serverfault.com/a/390801/2101
MikeyB

@MikeyB No sabía ni me importaban los 'tipos de archivo', por lo que sabía, vim podría haber estado haciendo el resaltado de sintaxis simplemente mirando el código y adivinando el idioma. Y la parte principal del problema era que quería que fuera 'por defecto'. Ya sabía cómo 'configurar el idioma / tipo de archivo al editar'. Además, si es para nginx o cualquier otra cosa, es irrelevante. Haz lo que quieras, nunca entendí por qué las personas que no usan el servidor deciden cerrar o editar preguntas (¿para SEO tal vez?). A menos que sea gramaticalmente incorrecto, el título original refleja mi problema.
HappyDeveloper

3
posiblemente interesante: vim.org/scripts/script.php?script_id=1886 (lo uso y es bastante agradable, agregue una # vim:syn=nginxen la parte inferior de las configuraciones)
SingleNegationElimination

@HappyDeveloper: la razón por la que lo edité fue porque su respuesta aceptada indica "Oh, realmente estaba tratando de hacer eso". Ahora los futuros visitantes podrán buscar 'tipo de archivo vim predeterminado' o 'sintaxis vim predeterminada' y obtener la respuesta correcta para eso en lugar de frustrarse ya que la respuesta aceptada no dice cómo lograr el título de la pregunta. Además, ahora también sabe cómo configurar el tipo de archivo predeterminado :)
MikeyB

@MikeyB El nuevo título ni siquiera usa la palabra 'predeterminado'. El original lo hizo.
HappyDeveloper

Respuestas:


26

La siguiente línea ~/.vimrcdebería hacer esto.

autocmd BufRead,BufNewFile /etc/nginx/sites-*/* setfiletype conf

corrección leve autocmd BufRead, BufNewFile / etc / nginx / sites- / setfiletype conf

1
vim.org/scripts/script.php?script_id=1886 proporciona un mejor resaltado de sintaxis que el tipo de confarchivo. Si usa Vundle, intente Plugin 'vim-scripts/nginx.vim'.
Adam Monsen

Para todos los archivos .conf, puse el comando como este:autocmd BufRead,BufNewFile *.conf setfiletype conf
Eren Yilmaz

26

En realidad, hay un tipo de archivo Nginx definido en el repositorio oficial de Nginx en el directorio contrib / vim . Proporciona un mejor resaltado de sintaxis que conf .

Para usarlo, copie las líneas de detección en su .vimrc (y modifíquelo como desee):

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

Luego copie nginx.vim a su directorio ~ / .vim / syntax .

Todos los archivos Nginx que siguen las reglas anteriores ahora deberían estar resaltados.

Si también desea la sangría, también puede copiar el archivo del directorio de sangría en su .vimrc .

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.