VIM + Sintástico:¿Cómo desactivar el verificador?
Pregunta
Estoy usando Syntastic que está habilitado para mis archivos HTML.Como tengo un archivo muy grande con los comprobadores "validador w3" habilitados, GVIM o VIM se volvieron muy lentos al guardar el archivo (:w).
¿Es posible desactivar temporalmente la sintaxis solo para la sesión actual?
Solución
Uso de :SyntasticToggleMode
Puede alternar en modo pasivo, que deshabilitará la verificación automática.A continuación, puede marcar un archivo ejecutando :SyntasticCheck
en lugar.
Para más, vea :help syntastic-commands
En otra Nota: Si la sintástica es lenta para usted, considere intentarlo ale como alternativa.A diferencia de la sintástica, se ejecuta de forma asíncrona, por lo que incluso si es lento, no debería obstaculizarlo.
Otros consejos
Tengo una sintástica discapacitada de forma predeterminada y activar / deshabilitar la verificación de errores con lo siguiente en mi .vimrc:
let g:syntastic_mode_map = { 'mode': 'passive', 'active_filetypes': [],'passive_filetypes': [] }
nnoremap <C-w>E :SyntasticCheck<CR> :SyntasticToggleMode<CR>
Cuando necesito usar la comprobación de errores, simplemente presenta: ctrl-w e
Alternativa a Jamie y Gospes Respuestas, se puede Deshabilitar el revista completamente especificando el cuadro así:
let g:syntastic_html_checkers=['']
También asegúrese de que el syntastic_check_on_open
no esté configurado en 1, lo que contrarresda la línea anterior:
let g:syntastic_check_on_open = 0
Podría apagar la sintástica para toda la sesión (según lo respondió Jamie Schembri ), pero si es solo un problemaCon el "archivo muy grande", es posible que desee deshabilitar solo el único búfer.
Unos pocos de los archivos en el que trabajan en mi trabajo son compatibles sin notorios sin PSR.La mayoría trabajo está bien.Estaba buscando funcionalidad para deshabilitar la sintástica para solo esos archivos problemáticos.Una forma más sencilla de ' SINTASTICDISABLETOGGLE ' Solución descrita por el Crítico Primario:
"disable syntastic on a per buffer basis (some work files blow it up)
function! SyntasticDisableBuffer()
let b:syntastic_skip_checks = 1
SyntasticReset
echo 'Syntastic disabled for this buffer'
endfunction
command! SyntasticDisableBuffer call SyntasticDisableBuffer()
Porque esto no afecta a otros tampones, puedo seguir usando este complemento impresionante para cualquier otro archivo (parcialmente) que cumpla.
Esto no aborda directamente la pregunta, pero puede ayudar más allá de la sesión actual.Si tiene un archivo que debe editar con frecuencia pero que sabe que siempre querrá desactivar Syntastic (p. ej.tiene miles de errores y usted tiene la intención de no corregirlos, y dejarlo activado provoca una desaceleración de la interfaz de usuario), y luego incluirlo permanentemente en la lista negra es muy conveniente.
Para hacer esto, use el syntastic_ignore_files
opción.Está escondido en la ayuda, pero puede usar expresiones regulares con esta función para incluir archivos en la lista negra.
'syntastic_ignore_files'
Default: []
Use this option to specify files that syntastic should never check. It's a
list of regular-expression patterns. The full paths of files (see ::p) are
matched against these patterns, and the matches are case sensitive. Use \c
to specify case insensitive patterns. Example:
let g:syntastic_ignore_files = ['\m^/usr/include/', '\m\c\.h$']
Las siguientes configuraciones funcionaban para mí.
let g:syntastic_mode_map = { 'mode': 'passive', 'active_filetypes': [],'passive_filetypes': [] }
noremap <C-w>e :SyntasticCheck<CR>
noremap <C-w>f :SyntasticToggleMode<CR>
Ctrl-w + e shall enable checking
Ctrl-w + f shall disable checking
To disable warnings use:
let g:syntastic_quiet_messages={'level':'warnings'}
De manera similar a los mencionados por algunos otros, aquí hay un segmento VIMRC que se apagará sin insistencia, pero mapea un botón (aquí, F10) para verificar el archivo actual, y utiliza el mismo botón que se apague un alternador.los cheques.Es un poco lento, pero funciona.
let g:syntastic_check_on_open = 0
let g:syntastic_check_on_wq = 0
let g:syntastic_mode_map = {'mode':'passive'}
nnoremap <F10> :SyntasticCheck<CR> :SyntasticToggleMode<CR> :w<CR>
Otra opción para desactivar la comprobación de un único búfer (independientemente del tipo de archivo) es utilizar :let b:syntastic_mode="passive"
.Como no es un conmutador, funcionará incluso si el búfer está actualmente en modo pasivo.
Si desea desactivar temporalmente la comprobación de todos los tipos de archivos en todos los buffers, puede utilizar :bufdo let b:syntastic_mode="passive"
.He configurado asignaciones para activar/desactivar la comprobación de todos los buffers:
nnoremap <leader>sN :bufdo let b:syntastic_mode="passive"<cr>
nnoremap <leader>sY :bufdo unlet b:syntastic_mode<cr>
Esto es particularmente útil cuando se hace :wqa
con muchos buffers abiertos.
Gracias por Steven Lu , puedo ignorar los archivos de roles ansibles , ahora.
" ignore files of Ansible Roles.
let g:syntastic_ignore_files = ['\m^roles/']