Langsamkeit in Vims Klammerabgleich mit der Standard-PHP-Syntax

1803
moo

Ich erlebe eine bemerkenswerte Langsamkeit in Vims Bracket-Matching- und -Highlighting-Funktion. Wenn der Cursor über einer Klammer oder einer Klammer platziert wird, ist die Reaktionszeit der Konsole um ca. 300 ms verzögert. Wie gesagt scheint dies nur bei der Arbeit mit PHP-Dateien der Fall zu sein. Ich verwende Vim 7.2 unter Debian Squeeze mit einer .vimrc-Datei:

 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 

Gibt es eine Möglichkeit, diese Verlangsamung zu mildern?

8

2 Antworten auf die Frage

7
quack quixote

Geben Sie Folgendes ein, um es pro Instanz zu deaktivieren:

:NoMatchParen 

(Kapitalisierung ist wichtig)

Fügen Sie dies zu Ihrem ~ / .vimrc hinzu, um es zu deaktivieren, bevor das Modul geladen wird:

let loaded_matchparen = 1 

Du brauchst nur einen. Beim ersten müssen Sie sie jedes Mal eingeben, wenn Sie eine PHP-Datei öffnen. Sie können sie jedoch jederzeit wieder aktivieren. Beim zweiten ist es immer ausgeschaltet, aber Sie können es nicht einfach wieder einschalten.

2
pbr

Ich sehe das nicht lokal; Die passenden Parens werden sofort hervorgehoben. Versuche dies:

:set filetype=txt 

... und sehen, ob sich die Dinge verbessern. Wenn ja, könnte etwas in der PHP-Konfigurationskonfiguration von vim etwas aus dem Gleichgewicht geraten. Sehen Sie dasselbe Verhalten bei sehr kleinen PHP-Dateien? Ich bin auf 7.2 auf Ubuntu und sehe nicht, was Sie sehen.

Hoffe das hilft!
-Paul

UPDATE: Vielen Dank, dass Sie Ihre Frage so aktualisiert haben, dass sie Ihre .vimrc enthält. Dies führt zu einer weiteren Sache, die Sie testen können. Bitte überprüfen Sie, ob dies der Situation nicht hilft - ändern Sie php_folding auf 1 statt auf 2. 2-fach alle Regionen {}, sodass dies irgendwie mit der Parens-Matching-Logik interagiert und die Verzögerung verursacht.

Sie sagen auch "auf die Reaktionsfähigkeit der Konsolen" - laufen Sie vim in einem Terminal-Emulator oder auf einer virtuellen Konsole (z. B. ctrl-alt-F1)? pbr vor 15 Jahren 0