2010-05-06 8 views
162

Tan pronto como cargue cualquier archivo en vim, tratará de detectar el archivo y resaltarlo en color si es posible.Encuentra qué tipo de archivo se carga en vim

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

+0

¿No lo haces automáticamente? – ereOn

+0

Si coloca un vimscript en ~/.vim/ftplugin/obtendrá el origen de vimscript cuando se cargue un archivo del tipo de archivo coincidente. Así que ponga 'setlocal cursorline' en' ~/.vim/ftplugin/python.vim' y tendrá resaltado de línea actual en los archivos de Python. Ver ': help ftplugin' y': help after' – idbrii

Respuesta

265

:set filetype?

+26

Puede guardar unas pocas teclas y simplemente usar ': set ft?' –

+27

': se ft?' - Yo gano. ;) – sjas

+19

': se ft'? ¡Gané! –

14

También puede agregar el tipo de archivo a su línea de estado o de título de la ventana usando los %y y %Y artículos. Ver

:help 'statusline' 
:help 'titlestring' 
3

Cuando quería encontrar el tipo de archivo que era porque yo estaba teniendo la extensión .ipy modificar una secuencia de comandos ipython. El anterior Q & A funcionó muy bien para ver que la extensión ipython no se estaba tratando como python (algo obvio). Por lo tanto, quería forzar la configuración del tipo de archivo, y lo encontré en el sitio ever helfpul vim. http://vim.wikia.com/wiki/Forcing_Syntax_Coloring_for_files_with_odd_extensions

Añadiendo el siguiente a su .vimrc obras

au BufRead,BufNewFile *.ipy set filetype=python 
0

Puesto que usted está pidiendo/búsqueda a esta pregunta, en primer lugar, supongo que lo hace porque su vim alguna manera no resalta la sintaxis correcta para usted de forma automática, y está tratando de descubrir por qué y cómo solucionarlo.

El comando :set filetype? en la respuesta elegida básicamente pregunta vim "hey, 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 esté mostrando 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 siguiente paso será decir vim "simplemente resáltelo utilizando (por ejemplo) la sintaxis ps1". Para ello, escriba :set filetype=ps1, ahora vim resaltará el archivo actual utilizando el estilo ps1 (siempre que ya haya download the proper powershell syntax file and put it into your ~/.vim/syntax).

En este punto, es probable que a partir de ahora desee resaltar la sintaxis automática. La solución es colocar una secuencia de comandos de detección correspondiente en su carpeta ~/.vim/ftdetect. Por ejemplo, si desea resaltar todas las secuencias de comandos de PowerShell .ps1, .psm1, etc., ponga this file en su ~/.vim/ftdetect

Ahora que es un final feliz.

Cuestiones relacionadas