我有这个 vim 映射:
nnoremap <silent> <leader><space> :Files<CR>
是否可以更改初始列表上的排序?
很高兴首先看到最近更改的文件。
当我开始搜索时,fzf 的正常排序很好。
我知道没有简单的方法,不。
但是您可以只编写一个函数来获取按日期排序的文件列表(请注意,这都是未经测试的):
let l:filelist = split(system(find . -type f -printf '%T@ %p\n' |
\ sort -k 1 -n | sed 's/^[^ ]* //'), 'n')
还有一些其他命令,取决于您可以使用的环境。但是这里出现了第一个问题。该命令列出了您目录中的所有文件。尊重您的 gitignore 或需要更多的工作。这也比 fzf 慢很多!
获得列表后,您可以再次使用 fzf :
call fzf#run({'source': l:filelist, 'sink': 'e', 'down': '40%'})
所以我认为这可能适用于小型项目,但如果你有一个更大的项目,它会变慢,而且如果你使用像 rails 这样经常重建你的资产的东西,你将不得不过滤结果。
更新:
正如 r03 的评论中提到的FZF_DEFAULT_COMMAND
,如果你想全局使用这个变量,你也可以编辑变量。不需要将它传递给vimscript。