Langsamkeit in Vims Klammeranpassung mit der Standard-PHP-Syntax

8

Ich habe eine merkliche Langsamkeit in der Funktion zum Anpassen und Hervorheben von Klammern von Vim. Wenn sich der Cursor über einer Klammer oder Klammer befindet, verzögert sich die Reaktionszeit der Konsole um ca. 300 ms. Wie bereits erwähnt, scheint dies nur bei der Arbeit mit PHP-Dateien aufzutreten. 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?

muhen
quelle

Antworten:

2

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

:set filetype=txt

... und sehen, ob sich die Dinge verbessern. In diesem Fall ist möglicherweise etwas in der PHP-Handling-Konfiguration von vim nicht in Ordnung. Sehen Sie das gleiche Verhalten bei sehr kleinen PHP-Dateien? Ich bin auf Ubuntu auf 7.2 und sehe nicht, was du siehst.

Hoffe das hilft!
-Paul

UPDATE: Vielen Dank, dass Sie Ihre Frage aktualisiert haben, um Ihre .vimrc einzuschließen. Dies führt zu einer weiteren Sache, die Sie testen müssen. Bitte sehen Sie, ob dies der Situation nicht hilft - ändern Sie php_folding auf 1 anstatt auf 2. 2 faltet alle {} Regionen, sodass dies möglicherweise irgendwie mit der Parens-Matching-Logik interagiert und die Verzögerung verursacht.

pbr
quelle
Sie sagen auch "Reaktionsfähigkeit der Konsolen" - führen Sie vim in einem Terminalemulator oder auf einer virtuellen Konsole aus (z. B. Strg-Alt-F1)?
pbr
7

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

:NoMatchParen

(Großschreibung 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 es jedes Mal eingeben, wenn Sie eine PHP-Datei öffnen, aber Sie können es jederzeit wieder aktivieren. Beim zweiten ist es immer ausgeschaltet, aber Sie können es nicht einfach wieder einschalten.

Quacksalber
quelle