Очистить определенные критерии из файла .viminfo - PullRequest
34 голосов
/ 12 мая 2010

Как очистить определенные критерии из моего файла .viminfo?

Я хочу очистить историю командной строки, пометки файлов, список переходов и т. Д.

Однако , я хочу сохранить историю строк поиска.

Есть ли способ сделать это?

Ответы [ 5 ]

27 голосов
/ 14 мая 2010

Я могу придумать 3 способа сделать это.

1. Автоматически

  1. Run Vim,

  2. Тип: :set viminfo='0,:0,<0,@0,f0

    • '0 означает, что отметки не будут сохранены
    • :0 означает, что история командной строки не будет сохранена
    • <0 означает, что регистры не будут сохранены
    • @0 означает, что история строк ввода не будет сохранена
    • f0 означает, что отметки не будут сохранены
    • no % означает, что список буферов не будет сохранен
    • нет / означает, что история поиска будет сохранена

    Эти параметры верны в Vim 7.2, но могут отличаться в других версиях. Для получения более подробной информации о формате строки viminfo, запустите :h 'viminfo'

  3. Выйти из Vim. Будет сохранена новая версия файла .viminfo, содержащая только ту информацию, которую вы хотите сохранить.

2. Вручную

  1. Откройте файл .viminfo в vim,

  2. :set viminfo=, чтобы отключить автоматическое сохранение информации в файл .viminfo. Если вы этого не сделаете, Vim перезапишет все ваши изменения при выходе,

  3. Удалите все, что вам не нужно (возможно, используя ответ Джонсивеба или просто удалив строки с помощью команд ручного редактирования), сохраните файл и выйдите из vim,

3. В другом редакторе

Отредактируйте файл .viminfo в другом текстовом редакторе и просто удалите все, что вам не нужно,

10 голосов
/ 22 мая 2010

Откройте файл .viminfo.

Следующая команда удалит все строки, которые не являются ни пустыми, ни комментариями, ни историей поиска:

:v/^\([#/?]\|$\)/d

@ Rich's answer поможет вам предотвратить повторное заполнение этих строк.

6 голосов
/ 25 октября 2015

Вы можете использовать vim для изменения файла, и ваши изменения останутся в силе, если вы вызовете его так:

$ vim -i NONE ~/.viminfo

Запуск vim с параметром -i устанавливает, какой файл viminfo использовать для этого сеанса. Специальное значение NONE означает, что ничего не сохраняется вообще. Это может быть удобно для редактирования других автоматически генерируемых файлов или конфиденциальных данных.

С man vim:

-i {viminfo}
При использовании файла viminfo эта опция устанавливает имя файла
использовать вместо значения по умолчанию ~/.viminfo. Это также может быть использовано для
пропустите использование файла viminfo , указав имя NONE.

3 голосов
/ 12 мая 2010

VIM, похоже, не имеет встроенной команды для этого задания. Но вы можете сделать это в оболочке с помощью "grep". Например, следующая команда очистит историю командной строки, метки файлов, список переходов:

bash $ grep -v "^[:'-]" .viminfo > .viminfo_clear
bash $ cp .viminfo_clear .viminfo

Если вы откроете .viminfo, вы обнаружите, что история командной строки начинается с «:», метка файла начинается с «», а список переходов начинается с «-».

2 голосов
/ 23 мая 2011

Скопируйте полезную часть и удалите .viminfo, затем откройте / закройте Vim. Это восстановит .viminfo. Затем скопируйте полезную часть обратно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...