Lentezza nella corrispondenza delle parentesi quadre di Vim con la sintassi PHP predefinita


8

Sto riscontrando una notevole lentezza nella funzione di abbinamento delle parentesi e di evidenziazione di Vim. Quando il cursore viene posizionato su una parentesi o una parentesi, si verifica un ritardo di circa 300 ms sulla reattività della console. Come detto, questo sembra accadere solo quando si lavora con file PHP. Sto eseguendo Vim 7.2 su Debian Squeeze con un file .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

C'è un modo per alleviare questo rallentamento?

Risposte:


2

Non lo vedo localmente; le parentesi corrispondenti vengono immediatamente evidenziate. Prova questo:

:set filetype=txt

... e vedi se le cose migliorano. In tal caso, qualcosa nella configurazione di gestione PHP di vim potrebbe essere un po 'fuori di testa. Vedi lo stesso comportamento su file PHP molto piccoli? Sono su 7.2 su Ubuntu e non vedo quello che stai vedendo.

Spero che sia di aiuto!
-Paolo

AGGIORNAMENTO: grazie per aver aggiornato la tua domanda per includere il tuo .vimrc - questo porta ad un'altra cosa che puoi testare. Si prega di vedere se questo non aiuta la situazione - cambiare php_folding su 1 anziché su 2. 2 piega tutte le {} regioni in modo che questo possa in qualche modo interagire con la logica di corrispondenza dei genitori e causare il ritardo.


Inoltre dici "sulla reattività delle console" - stai eseguendo VIM in un emulatore di terminale o su una console virtuale (ad esempio ctrl-alt-F1)?
pag

7

Digita questo per disattivarlo per istanza:

:NoMatchParen

(la capitalizzazione è importante)

Aggiungi questo al tuo ~ / .vimrc per disabilitarlo prima che il modulo si carichi:

let loaded_matchparen = 1

Ne hai solo bisogno. Con il primo, devi digitarlo ogni volta che apri un file PHP, ma puoi riaccenderlo in qualsiasi momento. Con il secondo, è sempre spento, ma non puoi semplicemente riaccenderlo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.