Я использую vim's :browse oldfiles файлы, чтобы редактировать файлы, с которыми я недавно работал. Тем не менее, есть некоторые файлы, такие как автоматически созданный git COMMIT_EDITMSG, которые загромождают этот список и которые мне никогда не нужно редактировать явно. Есть ли способ отфильтровать имена файлов из отображаемых (или, что еще лучше), сохраненных в этом списке, возможно, с помощью регулярных выражений или аналогичных?

1 ответ1

1

Вы можете использовать (быструю) функцию ниже, чтобы отфильтровать сообщения коммита из переменной v:oldfiles перед фактическим просмотром:

function! CleanBrowse()
    call filter(v:oldfiles, 'v:val !~ "COMMIT_EDITMSG"')
    browse :oldfiles
endfunction
nnoremap <F6> :call CleanBrowse()<CR>

Он не меняет содержимое вашего ~/.viminfo поэтому он выглядит относительно безопасным.

Дополнительная информация:

:h :oldfiles
:h v:oldfiles
:h list-functions
:h filter()
:h !~

Я не знаю, как решить, что следует и что не следует сохранять в ~/.viminfo но мне было бы интересно узнать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .