lli*_*eng 5 vim latex gvim vim-plugins
修复硬盘驱动器故障后,我在运行 Windows 10 的 Thinkpad X230T 笔记本电脑上安装 GVIM。除了*.tex文件缓冲区的渲染速度外,一切运行良好。问题是:使用syntax on,乳胶的缓冲区呈现异常缓慢。这是“功能”列表:
<C-f>;o也会以一秒的延迟结束。这主要是由于在添加单行之后渲染了整个缓冲区:后面的所有行都应刷新它们的“新”位置。我已经应用了这篇文章中提到的所有建议选项(/sf/ask/581068771/),但我仍然获得相同的缓慢渲染速度。
我只是在我的 X230T 上遇到了这种异常的减速。在_vimrc其他两台台式机上完全相同,我什至没有遇到渲染速度的微小滞后。我之前在同一台 X230T 笔记本电脑上安装 Windows 7 和 8 时也没有遇到渲染问题。
最后,对于硬盘驱动器,我的 X230T 上有一个 SSD,到目前为止运行良好;我在另外两台台式机上都有硬盘。
任何建议都会非常有帮助!
非常感谢!
祝一切顺利,
-临风
问题是,vim 的正则表达式引擎真的很慢,而且我猜 Latex 对正则表达式的要求很高。
通过执行以下操作,我能够更快地获得 vim:
:syn clear texSectionFold
:syn clear texPreamble
Run Code Online (Sandbox Code Playgroud)
这些是主要的违规语法组正则表达式。
我通过以下方式找到了它们:
:syntime on
Run Code Online (Sandbox Code Playgroud)
现在按ctrl+L很多次并等待 vim 赶上。然后:
:syntime report
Run Code Online (Sandbox Code Playgroud)
这给出了以下输出:
TOTAL COUNT MATCH SLOWEST AVERAGE NAME PATTERN
8.903872 1911 52 0.017387 0.004659 texSectionFold \v%(%(\\begin\{document\}.*$\n)@<=^|\\section)
4.979438 1859 0 0.016382 0.002679 texPreamble \v%(\\documentclass)@=
0.634906 1976 182 0.010863 0.000321 texEnvName \v%(\\%(begin|end)\{)@<=\a+\*?\ze\}
0.373173 1859 0 0.000880 0.000201 texArgsEnvNormReq \v(\\begin\{%(theorem|lemma|proposition|corollary|conjecture|definition|remark|example|proof)\*?\}\s*)@<=\{
0.317732 1859 0 0.000468 0.000171 texArgsEnvNormOpt \v(\\begin\{%(theorem|lemma|proposition|corollary|conjecture|definition|remark|example|proof)\*?\}\s*)@<=\[
0.223595 1859 0 0.000341 0.000120 texDimen \v-?%(\.[0-9]+|([0-9]+(\.[0-9]+)?))%(pt|pc|bp|in|cm|mm|dd|cc|sp|ex|em)>
...
Run Code Online (Sandbox Code Playgroud)
所以你可以看到这两个正则表达式比其他正则表达式贵得多。我不使用折叠,所以禁用它没有问题。不知道为什么找到序言这么慢。
也许这对你也有帮助,@llinfeng。但愿如此!
编辑:
要syn clear在 vim 启动时运行这些命令,您需要将它们放在~/.vim/after/syntax/tex.vim. 它不会在ftplugin文件中工作,因为此时尚未加载语法定义。
编辑2:
原来我上面发布的一些语法组来自一个插件。禁用插件无济于事,因为其他一些语法组很慢。哎呀!
我的最终修复,以及我从语法高亮中提出的所有要求,是:
$ cat ~/.vim/after/syntax/tex.vim
syn clear
syn match texComment "%.*$"
hi def link texComment Comment
Run Code Online (Sandbox Code Playgroud)
它真的很快。
| 归档时间: |
|
| 查看次数: |
1719 次 |
| 最近记录: |