Lentitud en la combinación de corchetes de Vim con la sintaxis PHP predeterminada

8

Estoy experimentando una notable lentitud en la función de coincidencia y resaltado de corchetes de Vim. Cuando el cursor se coloca sobre un paréntesis o paréntesis, hay un retraso de aproximadamente 300 ms en la capacidad de respuesta de la consola. Como se dijo, esto solo parece ocurrir cuando se trabaja con archivos PHP. Estoy ejecutando Vim 7.2 en Debian Squeeze con un archivo .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

¿Hay alguna forma de aliviar esta desaceleración?

mugir
fuente

Respuestas:

2

No veo esto localmente; los parens coincidentes se resaltan instantáneamente. Prueba esto:

:set filetype=txt

... y ver si las cosas mejoran. Si es así, algo en la configuración de manejo de PHP de vim puede estar un poco fuera de control. ¿Ves el mismo comportamiento en archivos PHP muy pequeños? Estoy en 7.2 en ubuntu y no veo lo que estás viendo.

¡Espero que esto ayude!
-Pablo

ACTUALIZACIÓN: gracias por actualizar su pregunta para incluir su .vimrc; esto lleva a otra cosa para que la pruebe. Verifique si esto no ayuda a la situación: cambie php_folding a 1 en lugar de 2. 2 pliega todas las regiones {} para que esto pueda estar interactuando de alguna manera con la lógica de emparejamiento de los padres y causando la demora.

pbr
fuente
También dices "en la respuesta de las consolas": ¿estás ejecutando vim en un emulador de terminal o en una consola virtual (ctrl-alt-F1, por ejemplo)?
pbr
7

Escriba esto para desactivarlo por instancia:

:NoMatchParen

(la capitalización es importante)

Agregue esto a su ~ / .vimrc para deshabilitarlo antes de que se cargue el módulo:

let loaded_matchparen = 1

Solo necesitas uno. Con el primero, debe escribirlo cada vez que abra un archivo PHP, pero puede volver a activarlo en cualquier momento. Con el segundo, siempre está apagado, pero no puedes volver a encenderlo.

quijote curandero
fuente