Очистите определенные критерии из .viminfo файла

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

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

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

Там какой-либо путь состоит в том, чтобы сделать это?

35
задан waxwing 25 January 2017 в 01:53
поделиться

3 ответа

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

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

Если вы откроете .viminfo, вы увидите, что история командной строки начинается с ":", метки файлов начинаются с "'", а джамплист начинается с "-".

3
ответ дан 27 November 2019 в 07:14
поделиться

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

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

  1. Запустить Vim,

  2. набрать: :set viminfo='0,:0,<0,@0,f0

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

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

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

2. Вручную

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

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

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

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

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

29
ответ дан 27 November 2019 в 07:14
поделиться

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

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

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

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

11
ответ дан 27 November 2019 в 07:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: