So any way to provide a different vimrc file ( maybe at command line, giving it as parameter each time as vim --vimrc=somefile file-to-open) ?
Sim, use o parâmetro -u
:
vim -u ~/.my-custom-vimrc
De man vim
:
-u {vimrc} Use the commands in the file {vimrc} for initializations.
All the other initializations are skipped. Use this to
edit a special kind of files. It can also be used to skip
all initializations by giving the name "NONE". See ":help
initialization" within vim for more details.
My .vimrc file contains a command to automatically delete any trailing space while saving a file. But, I don't want this feature to be activated for specific files.
Existe uma solução diferente se você precisar de tratamento especial para alguns tipos de arquivos conhecidos; use o comando autocmd
no seu vimrc. Por exemplo, esta é minha configuração dependente do tipo de arquivo:
" Mapping of filetypes to options
au FileType freerad setl noexpandtab sts=0 sw=8
au FileType make setl noexpandtab sts=0
au FileType php let php_sql_query=1
au FileType php let php_htmlInStrings=1
au FileType python setl shiftwidth=2 expandtab
au FileType sql setl noexpandtab sts=0 sw=8
" global options I do not want any filetype to override
au FileType * setl formatoptions-=ro " don't continue comments
Se você precisar aplicar opções a algo que o vim não atribui automaticamente a um determinado tipo de arquivo, você pode adicionar seu próprio mapeamento (faça isso antes de usar o comando autocmd
):
" mapping of filenames to filetypes
au FileReadPost,BufReadPost,BufNewFile /etc/freeradius/* setl ft=freerad
au FileReadPost,BufReadPost,BufNewFile *.xt setl ft=xt