¿Hay alguna manera de colocar un comentario en un archivo que vim procesará para establecer el tipo de archivo?


30

Por ejemplo, si quiero que vim reconozca un archivo con el nombre gitconfig(sin encabezado .) como de filetype=gitconfig, ¿hay alguna forma de indicarlo en un comentario o algo similar dentro del archivo? Tenga en cuenta que quiero que esto funcione en todos los sistemas, por lo que no se prefiere modificar los archivos de inicio de vim.

Respuestas:


45

Esto suena como la modelinefunción (consulte la ayuda en línea). En gitconfig podría tener una línea de modelo como la siguiente, cerca del principio o el final del archivo:

# vi: ft=gitconfig

Esto requiere que las modelinas estén habilitadas y, dado que pueden ser un peligro para la seguridad, están deshabilitadas por defecto en muchos sistemas.

Otro enfoque que podría ser un poco más de trabajo es hacer un .vimarchivo que contenga

au BufRead,BufNewFile */gitconfig setfiletype gitconfig

y colóquelo en ~/.vim/ftdetecttodos sus sistemas.


Perfecto, modeline es lo que estaba buscando. modeline está habilitado, pero parece que algo más en mi configuración está interfiriendo con él. Si pongo su línea sugerida en la parte superior del archivo, luego de volver a set filetype?abrirla revela el tipo de archivo 'conf'.
Murali Suriar

Tal vez pueda usar :verbose set filetypepara ver de dónde confproviene el valor: supongo que la configuración de tipo de archivo predeterminada del sistema de vim en algún lugar.
jw013

aparentemente se configuró por última vez desde /usr/share/vim/vim73/filetype.vim. ¿Por qué la detección del tipo de archivo a nivel del sistema anularía la directiva que coloqué en el archivo?
Murali Suriar

estabas ejecutando vim como root? en caso afirmativo, creo que la línea de modelo no se cargaría.
elias

También verifique el valor de la modelinesopción. :set modelines?Si se establece en cero, no procesará la línea de modelo.
Christian Long

1

Puede crear un archivo de sintaxis y ponerlo en el share/syntaxdirectorio de vim (en Debian Lenny es /usr/share/vim/vim71/syntax(su distribución puede variar)).

La documentación sobre el formato de sintaxis de Vim está aquí: http://vimdoc.sourceforge.net/htmldoc/syntax.html

Es posible que pueda encontrar un archivo de sintaxis listo en Internet en alguna parte, pero lo dejaré como un ejercicio para usted.

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.