如何在vim中避免对大文件进行语法高亮?

20

在vim中,由于语法高亮,大文件的加载和处理需要很长时间。

我正在寻找一种方法来限制高亮文件的大小,使得大于(比如)10MB的文件不再进行语法高亮。

5个回答

23

在 _vimrc 文件中添加以下行可以解决问题,并且还有一个额外的好处:它也能处理压缩文件(对于大文件来说很常见):

autocmd BufWinEnter * if line2byte(line("$") + 1) > 1000000 | syntax clear | endif

如果你将 syntax clear 更改为 syn sync clear,那么你很可能可以保留语法高亮。 同步是导致速度变慢的原因,尽管这取决于所涉及的语法。 就我个人而言,在添加了该行之后,我可以毫无问题地编辑一个包含1100万行代码的IDAPro .LST文件。 - Orwellophile
我刚刚发现的一个极大地改善大文件加载时间的技巧:如果已定义,禁用折叠,例如 set foldmethod=manual - yolenoyer

16

将以下内容添加到您的 .vimrc 文件中:

autocmd BufReadPre * if getfsize(expand("%")) > 10000000 | syntax off | endif

请注意,这将禁用所有缓冲区的语法高亮;语法是全局的 Vim 特性,无法限制为单个缓冲区。


4
仅针对当前缓冲区,使用“syntax clear”代替“syntax off”。 - Paul Oyster

7

我自己没有尝试过,但是LargeFile插件似乎正好可以解决你所寻找的问题。


4

vim -u NONE <文件名>

这将跳过所有配置文件的初始化。

在运行 gvim 时使用大写字母 U。

"-i NONE" 只会排除 viminfo 的加载。如果您在其中定义了语法高亮,则也会有所帮助。


0

使用vim -c 'syntax off' filename.ext命令


加载文件后,这将关闭高亮显示。 - HS.
应该在加载文件之前运行vim --cmd 'syntax off' - Orwellophile

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接