Что устанавливает vim-история?

У меня была команда

set history=10000

в моем .vimrc на некоторое время и понял, что он не устанавливает историю -

:set history

выводит 20.

Затем я переместил set history=10000 в конец моего .vimrc и переработал его, а теперь history=10000 по запросу.

В моем .vimrc нет других экземпляров set history. Какие еще команды задают длину истории? Возможно ли, что определения функций переопределяют историю? Есть ли другие настройки, о которых я должен беспокоиться о переопределении?

Ответ 1

В соответствии с помощью

'history' 'hi' number ( Vim default: 20, Vi default: 0)

ПРИМЕЧАНИЕ. Эта опция устанавливается на значение по умолчанию Vi, когда "совместимо"     set и значение Vim по умолчанию, когда "совместимо" - reset.

поэтому, если у вас есть set nocompatible где-то в vimrc (это очень часто бывает), тогда set history должен идти после этого утверждения. Это общее правило: независимо от того, что вы пишете, оно должно идти после set nocompatible. Он должен идти после set nocompatible, если это опция. Есть некоторые вещи (в том числе некоторые параметры), которые можно безопасно появляться перед ним, но единственное, что я использую до этого утверждения, - это защита.

Ответ 2

Тип:

:verbose set history

Это скажет вам, откуда 'history' был последним.

N.B: Если он говорит:

  history=20
        Last set from ~/.vimrc

... и у вас нет set hi=20 или set history=20 в .vimrc, вам необходимо обеспечить что у вас set history=10000 после set nocp, как выделено Ответ ZyX. Вероятно, поэтому вы обнаружили, что это сработало, когда вы переместили его в конец файла инициализации.