¿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.

Murali Suriar
fuente

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.

jw013
fuente
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.

bahamat
fuente