我编写该工具主要是为了解决个人平常命令行中遇到的以下问题:
- 较长的指令输入麻烦 /记不住 eg.
tar -xvf..... - 可以通过
alias {a}={b}快速缩短指令,不过是在 session 内暂时储存的 - 可以通过编辑
.zshrc,.bashrc等设置,但是删、查、改以及迁移(eg. bash->zsh) 极为不方便 - 想要全局访问自己写的 python/shell 脚本有点复杂,且不好维护
- 在系统的命名空间设置 alias 以及添加自己的程序时容易和系统已有的指令冲突 (参考 start all your commands with comma )
QALI 包含两个指令: q(常用操作) 和 qali(管理操作),并解决了以上每个问题:
- eg.
q -s untar "tar -xvf"设置简写,并使用q untar {文件名}快速运行指令 - qali 将命令简写储存在本地文件夹内,不会丢失
qali list查看所有假名;qali remove删除假名;qali select通过 fuzzy select 查找指令- eg.
q -s hi ./hello.py:自动识别 Python 脚本,并可以在任意地点通过q hi全局执行脚本 (目前还支持 shell) - 在 QALI 里面设置的命令不会和系统命名空间冲突,
q {...}命名空间有且仅有用户自己设置的命令简写
写这个工具的同时也发现 github 上面有一些功能类似的项目,以下是一个对比:
- navi: 侧重于使用他人写的 cheatsheets, 要通过手动编辑文件管理指令
- espanso: 功能非常全面,也支持添加脚本,要通过手动编辑文件管理指令且使用图形界面
- zsh-abbr: 包含了快速的设置和执行功能,但是没有自己的 namespace, 且只支持 zsh
欢迎各位在下方评论提建议以及在github上合作!