有没有办法从 vim 的“旧文件”中过滤掉文件名,也许使用一种模式?

有没有办法从 vim 的“旧文件”中过滤掉文件名,也许使用一种模式?

:browse oldfiles经常使用 vim 来编辑我最近处理过的文件。但是,有些文件(例如 git 自动生成的 COMMIT_EDITMSG)会使该列表变得混乱,而且我永远不需要明确编辑它们。有没有办法过滤掉显示(或更好地)保存在该列表中的文件名,也许可以使用正则表达式或类似方法?

答案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但我很想了解。

相关内容