Estou usando Ale e Syntastic principalmente porque o suporte a Rust Ale ainda não é muito bom. No meu caso, estou usando o gerenciador de pacotes vim-plug, eu configurei de forma que ele não habilite nenhum deles automaticamente. Em vez disso, uso uma estratégia de alternância.
No meu caso, quero Ale por padrão e Syntastic for Rust
Na parte do plugin do vimrc eu fiz isso
Plug 'w0rp/ale', { 'on': 'ALEToggle' }
Plug 'vim-syntastic/syntastic', { 'on': 'SyntasticToggleMode' }
Depois, eu defino um vínculo para habilitar o linter, (eu uso l como mnemoic para o linter)
nnoremap <leader>l :ALEToggle<CR>
Para Rust eu substituo o mesmo vínculo
au FileType rust noremap <buffer> <leader>l :SyntasticToggleMode<CR>
Também tive que remover o statusline do meu vimrc, caso contrário, recebo erros ao carregá-lo com o Syntastic desativado
" Syntastic stuff
"set statusline+=%#warningmsg#
"set statusline+=%{SyntasticStatuslineFlag()}
"set statusline+=%*
let g:rustfmt_autosave = 1
let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0
" Syntastic stuff
Saudações
let g:syntastic_disabled_filetypes=['html']