autocmd
s são comandos especiais acionados em eventos específicos ou em tipos de arquivos específicos. Eles costumam ser usados para definir opções ou definir mapeamentos que fazem sentido em um idioma, mas não em outros.
Como autocmd
s é amplamente usado para itens específicos de tipos de arquivos, if has("autocmd")
é uma maneira de testar se o recurso autocmd
está disponível e que podemos ir mais longe sem muito risco.
O local correto para armazenar configurações específicas de tipo de arquivo é ~/.vim/after/ftplugin/<filetype>.vim
, portanto, você deve gravar suas configurações em:
~/.vim/after/ftplugin/sml.vim
Este arquivo é originado por Vim após o ftplugin padrão para que você possa, por exemplo, alterar apenas o valor de tabstop
e manter as outras configurações.
No entanto, olhando para o meu próprio tempo de execução do Vim ( /usr/share/vim/vim73
), parece que não há ftplugin para sml
. Isso significa que ~/.vim/ftplugin/sml.vim
seria uma escolha igualmente certa de localização. Escolha o que você gosta.
Nesse arquivo, basta adicionar as linhas de que você precisa:
setlocal tabstop=8
setlocal shiftwidth=8
setlocal expandtab
e você está definido.