我想使用 fzf 列出 git 中的所有文件,按修改日期排序。(我在 vim 中使用这个输出)
该命令似乎有效:
(while read file; do echo $(git log --pretty=format:%ad -n 1 --date=raw -- $file) $file; done < <(git ls-tree -r --name-only HEAD) | sort -k1,1n | awk {"print \$3"}) 2> /dev/nul
但是我怎样才能把它作为默认的 FZF 命令呢?我试过了,但变量 FZF_DEFAULT_COMMAND 仍然为空:
export FZF_DEFAULT_COMMAND='
(while read file; do echo $(git log --pretty=format:%ad -n 1 --date=raw -- $file) $file; done < <(git ls-tree -r --name-only HEAD) | sort -k1,1n | awk {"print \$3"}) 2> /dev/null'
也许我需要逃避什么?
编辑:这是我现在使用的命令:
export FZF_DEFAULT_COMMAND='(git ls-tree -r --name-only HEAD)|(while read file; do echo $(git log --pretty=format:%ad -n 1 --date=raw -- "$file") $file; done | sort -r | awk {"print \$3"}) 2> /dev/null'