Qual è la differenza tra `filetype plugin indent on` e` filetype indent on`?


39

Vedo una di queste due righe nei .vimrcfile. Questo sembra essere il più comune:

filetype plugin indent on

Ma in cosa differisce da questa linea:

filetype indent on

Ho trovato documentazione per quest'ultimo , ma sono ancora confuso.


2
Suggerimento: puoi fare :filetypeper mostrare le impostazioni del tipo di file.
Wisbucky,

Risposte:


48

filetype plugin indent on è come una combinazione di questi comandi:

filetype on
filetype plugin on
filetype indent on

Attiva "rilevazione", "plugin" e "rientro" contemporaneamente. Puoi controllare tu stesso leggendo :help :filetype-overview.

rivelazione

Cosa fa il "rilevamento" del tipo di file? Dai documenti:

Ogni volta che un file nuovo o esistente viene modificato, Vim proverà a riconoscere il tipo di file e impostare l'opzione 'filetype'. Ciò attiverà l'evento FileType, che può essere utilizzato per impostare l'evidenziazione della sintassi, impostare le opzioni, ecc.

Questo è meno confuso se ti rendi conto che il filetypecomando è distinto filetypedall'opzione. (Il comando :filetype..., l'opzione: :set filetype...)

Collegare

Cosa fa la parte "plugin"? Dai documenti:

Questo effettivamente carica il file "ftplugin.vim" in "runtimepath".

Il risultato è che quando un file viene modificato viene caricato il suo file plugin (se ce n'è uno per il tipo di file rilevato).

Il file che viene caricato non è necessariamente denominato ftplugin.vim, potrebbe essere ftplugin/html_example.vimad esempio.

Rientro

Cosa fa la parte "indent"? Dai documenti:

Questo effettivamente carica il file "indent.vim" in "runtimepath".

Il risultato è che quando un file viene modificato il suo rientro viene caricato (se ce n'è uno per il tipo di file rilevato). trattino-espressione

Ancora una volta, il file potrebbe non essere nominato indent.vim, indent/html_example.vimad esempio potrebbe essere nominato .


1
per chiarire, il nome del file dovrebbe corrispondere al 'tipo di file' per il quale verrà attivato, ad esempio <type>/foobar.vim(una sottodirectory per tipo di file) <type>_foobar.vimo semplicemente <type>.vimdove <tipo> corrisponde al tipo di file effettivo
Christian Brabandt
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.