Eu vejo uma dessas duas linhas nos .vimrc
arquivos. Este parece ser o mais comum:
filetype plugin indent on
Mas como isso difere desta linha:
filetype indent on
Encontrei documentação para o último , mas ainda estou confuso.
Eu vejo uma dessas duas linhas nos .vimrc
arquivos. Este parece ser o mais comum:
filetype plugin indent on
Mas como isso difere desta linha:
filetype indent on
Encontrei documentação para o último , mas ainda estou confuso.
Respostas:
filetype plugin indent on
é como uma combinação destes comandos:
filetype on
filetype plugin on
filetype indent on
Ativa "detecção", "plugin" e "recuo" de uma só vez. Você pode verificar por si mesmo lendo :help :filetype-overview
.
O que a "detecção" do tipo de arquivo faz? Dos documentos:
Cada vez que um arquivo novo ou existente é editado, o Vim tenta reconhecer o tipo do arquivo e definir a opção 'tipo de arquivo'. Isso acionará o evento FileType, que pode ser usado para definir o realce da sintaxe, definir opções etc.
Isso é menos confuso se você perceber que o filetype
comando é distinto da filetype
opção. (O comando :filetype...
, a opção :set filetype...
:)
O que a parte "plugin" faz? Dos documentos:
Na verdade, isso carrega o arquivo "ftplugin.vim" em 'runtimepath'.
O resultado é que, quando um arquivo é editado, seu arquivo de plug-in é carregado (se houver um para o tipo de arquivo detectado).
O arquivo que está sendo carregado não é necessariamente nomeado ftplugin.vim
, poderia ser, ftplugin/html_example.vim
por exemplo.
O que a parte "recuo" faz? Dos documentos:
Na verdade, isso carrega o arquivo "indent.vim" em 'runtimepath'.
O resultado é que, quando um arquivo é editado, seu arquivo de recuo é carregado (se houver um para o tipo de arquivo detectado). recuo-expressão
Novamente, o arquivo não pode ser nomeado indent.vim
, pode ser nomeado indent/html_example.vim
por exemplo.
<type>/foobar.vim
(um subdiretório por tipo de arquivo) <type>_foobar.vim
ou simplesmente <type>.vim
onde <tipo> corresponde ao tipo de arquivo real
:filetype
para mostrar as configurações do tipo de arquivo.