wsdjeg-vim-galore-zh_cn/chapter/editing-small-files-is-slow.md
2017-03-29 18:21:35 +08:00

18 lines
1.3 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 编辑小文件很慢
对性能有重大影响的有两个方面:
1. 复杂的**正则表达式**。尤其是 Ruby 语法文件导致人们过去一直慢慢吞吞。([Debugging syntax files](#debugging-syntax-files)里也有说明。)
2. **页面刷新**。一些特性强制所有行都刷新。
| 典型败笔 | 原因? | 解决方法? |
|-----------------|------|-----------|
| `:set cursorline` | 导致所有行刷新。 | `:set nocursorline` |
| `:set cursorcolumn` | 导致所有行刷新。 | `:set nocursorcolumn` |
| `:set relativenumber` | 导致所有行刷新。 | `:set norelativenumber` |
| `:set foldmethod=syntax` | 语法文件算减速的话,这无异于刹车。 | `:set foldmethod=manual`, `:set foldmethod=marker` or [快速折叠](https://github.com/Konfekt/FastFold) |
| `:set synmaxcol=3000` | 根据内部表示规则, Vim 一般不待见对很长的行。这一设定导致3000列时才会把所在行高亮。 | `:set synmaxcol=200` |
| matchparen.vim           | 使用默认加载。使用正则表达式去匹配括回。 | 禁用插件: `:h matchparen` |
**注意**: 只有当真的遭遇实质的性能缺陷时,你才需要做这些改进。多数情况下,上面提到的这些方面还都凑合。