Encuentra qué tipo de archivo se carga en vim


224

Tan pronto como cargue cualquier archivo en vim, intentará detectar el archivo y resaltarlo si es posible.

Quiero conocer un comando vim que me dirá qué ftplugin o Filetype plugin / filetype está considerando vim para resaltar el archivo.


¿Vim no hace eso automáticamente?
antes

Si coloca un vimscript en ~ / .vim / ftplugin /, obtendrá ese vimscript cuando se cargue un archivo del tipo de archivo correspondiente. Así que ponga setlocal cursorlineen ~/.vim/ftplugin/python.vimy tendrá línea actual destacando en los archivos de pitón. Ver :help ftpluginy:help after
idbrii

Respuestas:


365

:set filetype?


39
Puede guardar algunas teclas y simplemente usar:set ft?
Matthew Rankin

35
:se ft?- Yo gano. ;)
sjas

39
:se ft? ¡Gané!
Fábio Santos

SO requiere una longitud mínima de comentario, por lo que puede no ser obvio que el más corto termine después del t. ? es opcional.
reergymerej

15

También puede agregar el tipo de archivo a su línea de estado o título de ventana utilizando los elementos %yy %Y. Ver

:help 'statusline'
:help 'titlestring'


2

Cuando quería encontrar el tipo de archivo era porque estaba teniendo la extensión .ipy modificando un script ipython. Las preguntas y respuestas anteriores funcionaron muy bien para ver que la extensión ipython no se trataba como python (algo obvio). Por lo tanto, quería forzar el tipo de archivo, y lo encontré en el sitio helimpul vim. http://vim.wikia.com/wiki/Forcing_Syntax_Coloring_for_files_with_odd_extensions

Agregar lo siguiente a sus trabajos .vimrc

au BufRead,BufNewFile *.ipy set filetype=python

2

Como está haciendo / buscando esta pregunta en primer lugar, supongo que hace esto porque su vim de alguna manera no resalta la sintaxis adecuada para usted automáticamente, y está tratando de averiguar por qué y cómo solucionarlo.

El comando :set filetype?en la respuesta elegida básicamente le pregunta a vim "oye, ¿qué tipo crees que es el archivo actual?". Y si vim no muestra el color / resaltado adecuado, lo más probable es que su respuesta sea mostrarlo filetype=en la parte inferior de la consola, lo que significa que vim no conoce el tipo de archivo. Esto es solo la mitad de tu búsqueda.

Lógicamente, su próximo paso será decirle a vim "solo resáltelo usando (por ejemplo) la sintaxis ps1". Para hacerlo :set filetype=ps1, escriba , ahora vim resaltará el archivo actual con el estilo ps1 (siempre que descargue el archivo de sintaxis powershell adecuado y lo coloque en su sintaxis ~ / .vim / ).

En este punto, probablemente querrás resaltar automáticamente la sintaxis a partir de ahora. La solución es colocar un script de detección correspondiente en su carpeta ~ / .vim / ftdetect. Por ejemplo, si desea resaltar todos los scripts de PowerShell .ps1, .psm1, etc., coloque este archivo en su ~ / .vim / ftdetect

Ahora que es un final feliz.

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.