Vim 括号匹配与默认 PHP 语法的缓慢

moo*_*moo 8 linux vim syntax-highlighting

我在 Vim 的括号匹配和高亮功能中遇到了明显的缓慢。当光标放在括号或括号上时,控制台的响应会有大约 300 毫秒的延迟。如上所述,这似乎只发生在处理 PHP 文件时。我在带有 .vimrc 文件的 Debian Squeeze 上运行 Vim 7.2:

  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
Run Code Online (Sandbox Code Playgroud)

有没有办法缓解这种放缓?

qua*_*ote 7

键入以下内容以将其关闭每个实例:

:NoMatchParen
Run Code Online (Sandbox Code Playgroud)

(大小写很重要)

将此添加到您的 ~/.vimrc 以在模块加载之前禁用它:

let loaded_matchparen = 1
Run Code Online (Sandbox Code Playgroud)

你只需要一个。对于第一个,每次打开 PHP 文件时都必须输入它,但您可以随时再次打开它。对于第二个,它总是关闭,但你不能简单地再次打开它。


pbr*_*pbr 2

我在本地没有看到这个;匹配的括号立即突出显示。尝试这个:

:set filetype=txt
Run Code Online (Sandbox Code Playgroud)

...看看情况是否有所改善。如果是这样,vim 的 PHP 处理配置中的某些内容可能有点不正常。您是否在非常小的 PHP 文件上看到相同的行为?我在 ubuntu 上使用 7.2,但没有看到你所看到的内容。

希望这可以帮助!
——保罗

更新:感谢您更新您的问题以包含您的 .vimrc - 这会导致您需要测试另一件事。请看看这是否对这种情况没有帮助 - 将 php_folding 更改为 1 而不是 2。2 折叠所有 { } 区域,因此这可能会以某种方式与括号匹配逻辑交互并导致延迟。