Lenteur dans l'appariement des crochets de Vim avec la syntaxe PHP par défaut


8

Je ressens une lenteur notable dans la fonction de correspondance et de mise en surbrillance de Vim. Lorsque le curseur est placé sur une parenthèse ou un support, il y a un retard d'environ 300 ms sur la réactivité de la console. Comme indiqué, cela ne semble se produire que lorsque vous travaillez avec des fichiers PHP. J'utilise Vim 7.2 sur Debian Squeeze avec un fichier .vimrc:

  1 set autoindent
  2 set smarttab
  3 set ruler
  4 set expandtab
  5 set termencoding=utf-8
  6 set fileformat=unix
  7 set number
  8 set tabstop=4
  9 set encoding=utf-8
 10 set shiftwidth=4
 11 set noswapfile
 12 set backspace=indent,eol,start
 13 set shortmess=lrwxI
 14 set history=50
 15 set background=dark
 16
 17 let php_folding=2
 18 let php_asp_tags=0
 19
 20 colorscheme desert

Existe-t-il un moyen d'atténuer ce ralentissement?

Réponses:


2

Je ne vois pas cela localement; les parens correspondants sont instantanément mis en évidence. Essaye ça:

:set filetype=txt

... et voyez si les choses s'améliorent. Si c'est le cas, quelque chose dans la configuration de gestion PHP de vim peut être un peu hors de propos. Voyez-vous le même comportement sur de très petits fichiers PHP? Je suis sur 7.2 sur ubuntu et je ne vois pas ce que vous voyez.

J'espère que cela t'aides!
-Paul

MISE À JOUR: merci d'avoir mis à jour votre question pour inclure votre .vimrc - cela vous amène à une autre chose à tester. Veuillez voir si cela n'aide pas la situation - changez php_folding en 1 plutôt qu'en 2. 2 plie toutes les régions {} donc cela peut interagir d'une manière ou d'une autre avec la logique de correspondance de parens et provoquer le retard.


Vous dites également "sur la réactivité des consoles" - exécutez-vous vim dans un émulateur de terminal, ou sur une console virtuelle (ctrl-alt-F1 par exemple)?
pbr

7

Tapez ceci pour le désactiver par instance:

:NoMatchParen

(la capitalisation est importante)

Ajoutez ceci à votre ~ / .vimrc pour le désactiver avant le chargement du module:

let loaded_matchparen = 1

Vous n'en avez besoin que d'un. Avec le premier, vous devez le taper à chaque fois que vous ouvrez un fichier PHP, mais vous pouvez le réactiver à tout moment. Avec le second, il est toujours éteint, mais vous ne pouvez pas simplement le rallumer.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.