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