¿Cuál es la diferencia entre `filetype plugin indent on` y` filetype indent on`?


39

Veo una de estas dos líneas en los .vimrcarchivos. Este parece ser el más común:

filetype plugin indent on

Pero, ¿en qué se diferencia de esta línea?

filetype indent on

He encontrado documentación para este último , pero todavía estoy confundido.


2
consejo lateral: puede hacer :filetypepara mostrar la configuración del tipo de archivo.
wisbucky

Respuestas:


48

filetype plugin indent on es como una combinación de estos comandos:

filetype on
filetype plugin on
filetype indent on

Activa "detección", "complemento" y "sangría" a la vez. Puede verificarlo usted mismo leyendo :help :filetype-overview.

Detección

¿Qué hace la "detección" de tipo de archivo? De los documentos:

Cada vez que se edita un archivo nuevo o existente, Vim intentará reconocer el tipo de archivo y establecerá la opción 'tipo de archivo'. Esto activará el evento FileType, que se puede usar para establecer el resaltado de sintaxis, establecer opciones, etc.

Esto es menos confuso si te das cuenta de que el filetypecomando es distinto de la filetypeopción. (El comando :filetype..., la opción: :set filetype...)

Enchufar

¿Qué hace la parte "plugin"? De los documentos:

Esto realmente carga el archivo "ftplugin.vim" en 'runtimepath'.

El resultado es que cuando se edita un archivo, se carga su archivo de complemento (si hay uno para el tipo de archivo detectado).

El archivo que se está cargando no tiene necesariamente un nombre ftplugin.vim, podría ser, ftplugin/html_example.vimpor ejemplo.

Sangrar

¿Qué hace la parte "sangría"? De los documentos:

Esto realmente carga el archivo "indent.vim" en 'runtimepath'.

El resultado es que cuando se edita un archivo, se carga su archivo de sangría (si hay uno para el tipo de archivo detectado). sangría-expresión

Una vez más, el archivo puede no tener nombre indent.vim, podría llamarse, indent/html_example.vimpor ejemplo.


1
para que quede claro, el nombre del archivo debe corresponder al 'tipo de archivo' para el cual se va a activar, por ejemplo, <type>/foobar.vim(un subdirectorio por tipo de archivo) <type>_foobar.vimo simplemente <type>.vimdonde <type> corresponde al tipo de archivo real
Christian Brabandt
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.