我把一些常用的命令写在文件 abc 里,想用 fzf 做成交互式的选项,希望 fzf 之后这些选项可以自动根据使用频率进行排序,把常用的排到前面(像 z.lua )。请问有什么比较简单的方法可以实现吗?
(似乎 sort 只能针对固定的顺序排序,不能自己学习以后自动调整顺序)
先谢谢!🙏
(似乎 sort 只能针对固定的顺序排序,不能自己学习以后自动调整顺序)
先谢谢!🙏
1
mcfog Dec 26, 2021 via Android
1.每次执行命令前把命令本身记录到一个 history 文件
2.cat abc history | sort | uniq -c | sort -n2k 后(按次数排序)再喂给 fzf 3. 得到的结果也会后面多个次数自己处理掉 |
2
Kobayashi Dec 26, 2021 via Android
做不到。fzf 只是一个交互式选择器,负责匹配并处罚动作。
|
3
kidonng Dec 26, 2021 via Android
一个简单的办法:
1. 设置环境变量 $HISTCONTROL 为 erasedups ( fish 不用) 2. 设置环境变量 $HISTFILE 为单独用来放常用命令的文件( fish 是 $fish_history ) 3. 开一个使用上述环境的新 shell ,启动 fzf 搜索 shell 命令历史 |
4
Jooooooooo Dec 26, 2021
直接把 "word 频率" 输出到另外一个文件里然后对这个新的文件的第二列频率排序就行
|
5
hcsu OP |