Повільність у збігу дужок Vim із синтаксисом PHP за замовчуванням


8

Я відчуваю помітну повільність у функції Vim, що відповідає дужкам та -висвітленню. Коли курсор розміщується над круглими дужками або дужками, на реакцію консолі відбувається затримка приблизно на 300 мс. Як зазначалося, це, здається, відбувається лише під час роботи з PHP-файлами. Я запускаю Vim 7.2 на Debian Squeeze з файлом .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

Чи є спосіб полегшити це уповільнення?

Відповіді:


2

Я не бачу цього локально; відповідні парени миттєво виділяються. Спробуйте це:

:set filetype=txt

... і подивіться, чи все покращиться. Якщо так, то щось у конфігурації обробки PHP vim може бути трохи не збито. Ви бачите таку саму поведінку у дуже маленьких PHP-файлах? Я на 7.2 в ubuntu і не бачу того, що ти бачиш.

Сподіваюся, це допомагає!
-Паул

ОНОВЛЕННЯ: дякую за оновлення запитання, щоб включити ваш .vimrc - це призводить до того, щоб ви перевірили ще одне. Зверніть увагу, якщо це не допомагає ситуації - змініть php_folding на 1, а не 2. 2 складе всі {} регіони, щоб це якось взаємоділо з логікою відповідності паронів і спричинило затримку.


Крім того, ви говорите "на чутливості консолей" - ви запускаєте vim в емуляторі терміналу або на віртуальній консолі (наприклад, ctrl-alt-F1)?
pbr

7

Введіть це, щоб вимкнути його на кожен примірник:

:NoMatchParen

(велика література важлива)

Додайте це до свого ~ / .vimrc, щоб відключити його перед завантаженням модуля:

let loaded_matchparen = 1

Вам потрібен лише один. По-перше, ви повинні вводити його щоразу, коли ви відкриваєте файл PHP, але ви можете будь-коли ввімкнути його знову. По-друге, це завжди вимкнено, але ви не можете просто ввімкнути його знову.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.