Как еще больше увеличить размер истории cmdline?

11

Я уже добавил следующие настройки в мой .vimrcфайл:

set history=1000

Это было там некоторое время, я работаю в vim ежедневно, поэтому к настоящему времени было выполнено много команд. Из справки vim я знаю, что дубликаты и отображенные командные строки не сохраняются, и он также говорит:

Use the 'history' option to set the number of lines that are remembered
(default: 20).

В настоящее время в моей истории около 130 строк ( :hisи q:немного отличаются, вторая содержит около 90 записей), но, на мой взгляд, их должно быть больше. Отсутствуют некоторые команды, такие как открытие определенных файлов или некоторые команды подстановки со сложным регулярным выражением. Там давно не пользовались, но у меня этот размер истории увеличивался достаточно долго.

Есть ли другой предел, о котором я не знал? Или, может быть, это неправильный способ увеличения размера истории cmdline?

qiubix
источник

Ответы:

12

:Значение в вашей 'viminfo'опции может ограничить количество команд сохранялись. Смотрите :help viminfo-::

: Maximum number of items in the command-line history to be
  saved.  When not included, the value of 'history' is used.
Инго Каркат
источник
Это может быть так. Как я могу изменить эту настройку? :set viminfo=:1000Сделаю?
Qiubix
1
Это было бы значением не по умолчанию. Проверьте, :verbose set viminfo?где это установлено, и лучше измените это местоположение. Поскольку эта опция использует набор значений, лучше всего использовать ее :set viminfo-=:42 | set viminfo+=:1000для изменения.
Инго Каркат
1
очевидно, я должен расширить набор значений, используя +=вместо перезаписи. Используя подробный, я получил: Last set from ~/.vimrcпосле некоторых значений по умолчанию. У меня нет никаких настроек, меняющих viminfoповедение, поэтому я не знаю, что там изменить. Я просто добавлю эту строку с :1000параметром и приму ваш ответ, когда замету увеличение размера истории.
Qiubix
Не могли бы вы немного расширить этот ответ, чтобы показать, как это сделать? Кажется, я бы :set viminfo+=:1000это сделал, но я не уверен, что точно понимаю, почему сначала вы вычитаете 42 из этого.
TankorSmash
1
@TankorSmash: 42 не вычитается; это намеревается удалить :42часть (42 - просто случайное число, поскольку точное число в конфигурации OP не известно) из 'viminfo'опции. Если у вас нет существующего значения по умолчанию, set viminfo+=:1000этого действительно будет достаточно.
Инго Каркат