Question

J'utilise Syntastic qui est activé pour mes fichiers HTML.Comme j'ai un très gros fichier avec les vérificateurs "validator w3" activés, GVIM ou VIM est devenu très lent lors de l'enregistrement du fichier (:w).

Est-il possible de désactiver temporairement la syntaxe uniquement pour la session en cours ?

Était-ce utile?

La solution

En utilisant :SyntasticToggleMode vous pouvez basculer Syntastic en mode passif, ce qui désactivera la vérification automatique.Vous pouvez ensuite vérifier un fichier en exécutant :SyntasticCheck plutôt.

Pour en savoir plus, voir :help syntastic-commands

D'un autre côté:si Syntastic est lent, pensez à essayer ale comme alternative.Contrairement à Syntastic, il fonctionne de manière asynchrone, donc même s'il est lent, cela ne devrait pas vous gêner.

Autres conseils

J'ai désactivé Syntastic par défaut et activez / désactiver la vérification des erreurs avec les éléments suivants dans mon fichier .VIMRC:

let g:syntastic_mode_map = { 'mode': 'passive', 'active_filetypes': [],'passive_filetypes': [] }
nnoremap <C-w>E :SyntasticCheck<CR> :SyntasticToggleMode<CR>

Quand j'ai besoin d'utiliser une vérification des erreurs, je frappe simplement: Ctrl-w e

Alternative aux réponses de Jamie et des Gospes, on peut désactiver complètement le vérificateur en spécifiant le checker comme ceci :

let g:syntastic_html_checkers=['']

Assurez-vous également que syntastic_check_on_open n'est pas défini sur 1, ce qui annulera la ligne ci-dessus :

let g:syntastic_check_on_open = 0

Vous pouvez désactiver la syntastique pour toute la session (comme répondit par Jamie Schembri ), mais si c'est juste un problèmeAvec le «très gros fichier», vous voudrez peut-être désactiver votre seul tampon.

Quelques-uns des fichiers que je travaille sur mon travail sont conformes désespérément non-PSR.La plupart travaillent juste bien.Je cherchais la fonctionnalité pour désactiver le syntastiquement pour que ces fichiers problématiques.Une forme plus simple du ' SyntasticDisableToggle ' Solution décrite par le contributeur principal Fonctionne pour moi:

"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()

Parce que cela n'affecte pas les autres tampons, je peux continuer à utiliser ce plugin impressionnant pour tout autre fichier (partiellement) conforme que j'ai ouvert.

Cela ne répond pas directement à la question, mais peut aider au-delà de la session en cours.Si vous avez un fichier que vous devez modifier souvent mais sur lequel vous savez que vous souhaiterez toujours désactiver Syntastic (par ex.il contient des milliers d'erreurs et vous avez l'intention de ne pas les corriger, et le laisser activé entraîne un ralentissement de l'interface utilisateur), puis le mettre sur liste noire de manière permanente est très pratique.

Pour ce faire, utilisez le syntastic_ignore_files option.C'est caché dans l'aide, mais vous pouvez utiliser des expressions régulières avec cette fonctionnalité pour mettre des fichiers sur liste noire.

                                                    '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$']

Les paramètres suivants ont fonctionné pour moi.

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 même à ceux mentionnés par quelques autres, voici un segment VIMRC qui désactivera Syntastic par défaut, mais mapper un bouton (ici, F10) pour vérifier le fichier actuel et utiliser le même bouton qu'une bascule pour éteindre.les chèques.C'est un peu lent, mais fonctionne.

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>

Une autre option pour désactiver la vérification d'un seul tampon (quel que soit le type de fichier) consiste à utiliser :let b:syntastic_mode="passive".Puisqu'il ne s'agit pas d'une bascule, cela fonctionnera même si le tampon est actuellement en mode passif.

Si vous souhaitez désactiver temporairement la vérification de tous les types de fichiers dans tous les tampons, vous pouvez utiliser :bufdo let b:syntastic_mode="passive".J'ai configuré des mappages pour désactiver/activer la vérification de tous les tampons :

nnoremap <leader>sN :bufdo let b:syntastic_mode="passive"<cr>
nnoremap <leader>sY :bufdo unlet b:syntastic_mode<cr>

Ceci est particulièrement utile lorsque vous faites :wqa avec beaucoup de tampons ouverts.

merci pour Steven Lu , je peux ignorer les fichiers des rôles ansibles , maintenant.

" ignore files of Ansible Roles.
let g:syntastic_ignore_files = ['\m^roles/']

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top