我有一个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。