我有命令
set history=10000
在我的.vimrc中一段时间,并意识到它没有设置历史记录 -
:set history
打印20
。
然后我将set history=10000
移到我的.vimrc的末尾并重新获取它,现在history=10000
按要求移动。
我的.vimrc中没有set history
的其他实例。还有哪些命令设置历史长度?函数定义是否可能覆盖历史记录?还有其他设置我应该担心压倒一切吗?
答案 0 :(得分:23)
类型:
:verbose set history
这会告诉您上次设置'history'
的位置。
N.B:如果它说:
history=20
Last set from ~/.vimrc
...您的.vimrc中没有set hi=20
或set history=20
,您需要确保{/ 1}} 之后如set nocp
所强调的那样强> ZyX's answer。这可能 为什么当您将其移动到初始化文件的末尾时,它发现它有效。
答案 1 :(得分:17)
根据帮助,
'历史''hi'号码( Vim默认值:20 ,Vi默认值:0)
注意:当'compatible'为时,此选项设置为Vi默认值 当'compatible'被重置时,设置和Vim默认值。
,所以如果你在vimrc中的某个地方有set nocompatible
(它很常见),那么set history
必须在这个语句之后。这是一个通用规则:无论你写什么,都应该追求set nocompatible
。如果它是一个选项,必须追踪set nocompatible
。有一些东西(包括一些选项)可以安全地出现在它之前,但在此陈述之前我唯一使用的是守卫。