You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让fzf保留bash历史排序后的输出顺序?

解决fzf不维持历史记录排序结果的问题

你的问题根源在于fzf默认会基于搜索匹配度对输入内容重新排序,要保留sort命令生成的原始顺序,只需给fzf添加--no-sort参数即可。

修改后的函数代码如下:

history_cp() {
  history | 
    sort --reverse --numeric-sort | 
    fzf --no-sort |  # 禁用fzf自动排序,维持输入的原始顺序
    awk '{ $1=""; print }' | 
    tr -s ' ' | 
    xclip -selection clipboard 
}

补充说明

  • --no-sort参数会让fzf完全按照上游命令输出的顺序展示内容,不会根据搜索关键词调整结果排序
  • 若需要在搜索时仍保留原始排序的优先级,可额外搭配--tiebreak=index参数(不过仅--no-sort已能解决你的核心需求)

内容的提问来源于stack exchange,提问作者The.Wolfgang.Grimmer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 08:06:28