Estoy usando Ale y Syntastic principalmente porque el soporte de Rust Ale aún no es muy bueno. En mi caso, estoy usando el administrador de paquetes vim-plug, lo configuro para que no habilite ninguno de estos automáticamente. En su lugar, uso una estrategia de alternancia.
En mi caso quiero Ale por defecto y Syntastic para Rust
En la parte del complemento de vimrc hice esto
Plug 'w0rp/ale', { 'on': 'ALEToggle' }
Plug 'vim-syntastic/syntastic', { 'on': 'SyntasticToggleMode' }
Luego configuro un enlace para habilitar linter (uso l como mnemoic para linter)
nnoremap <leader>l :ALEToggle<CR>
Para Rust anulo el mismo vínculo
au FileType rust noremap <buffer> <leader>l :SyntasticToggleMode<CR>
También tuve que eliminar las cosas de la línea de estado de mi vimrc; de lo contrario, obtengo errores al cargarlo con Syntastic deshabilitado
" 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
Saludos
let g:syntastic_disabled_filetypes=['html']