McFly-替换“ Ctrl + R” Bash历史记录搜索功能
时间:2020-03-21 11:46:17 来源:igfitidea点击:
如果我们在CLI模式下花费大量时间,则绝对应该使用或者听说过BASH中的反向搜索功能。
在Bash中进行反向搜索的键盘快捷键是Ctrl + r。
使用bash反向搜索,我们可以调出先前使用的所有命令,而不必每次都重新键入它们。
当然,我们可以使用UP/DOWN箭头来搜索bash历史记录。
但是,Ctrl + r将使此过程变得更加轻松和快捷。
今天,我偶然发现了“ Ctrl + r” Bash历史记录搜索功能的替代品。
认识“ McFly”,这是一种用Rust编程语言编写的简单工具,它用智能搜索引擎替换了默认的Ctrl + r Bash历史记录搜索。
麦克弗利(McFly)提出的所有命令建议都通过一个小型神经网络实时进行优先排序。
McFly重新绑定了Ctrl + r功能,以显示Bash历史记录中所有最近执行的命令。
它通过跟踪以下内容来增加Shell历史记录:
- 命令退出状态,
- 时间戳(运行命令时),
- 和执行目录(运行命令的位置)。
它将所有跟踪详细信息保存在SQLite数据库中。
由于它跟踪命令的历史退出状态,因此我们可以简单地忽略旧的失败命令。
很好,是吗?
在建议命令时,McFly考虑以下事实:
- 我们在哪个目录上运行了命令。将来我们可能会在同一目录中重复该命令。
- 我们在命令之前键入了什么命令。
- 我们多久运行一次命令。
- 上次运行命令时。
- 如果我们之前在McFly中选择了该命令。
- 命令的历史退出状态。因为,我们可能不想运行旧的失败命令,对吗?
McFly会维护默认Bash历史记录文件,因此我们可以随时停止使用McFly。
McFly不仅用于BASH,还可以扩展到其他shell。
安装McFly
可以在Linux上使用Linuxbrew安装McFly。
如果尚未安装Linuxbrew,请参考以下链接。
- Linuxbrew – Linux和Mac OS X的通用软件包管理器
一旦安装了Linuxbrew,请运行以下命令来安装McFly:
$brew tap cantino/mcfly https://github.com/cantino/mcfly
$brew install mcfly
安装完成后,我们将看到以下输出。
==> Installing mcfly from cantino/mcfly ==> Downloading https://github.com/cantino/mcfly/releases/download/v0.2.5/mcfly-v0 ==> Downloading from https://github-production-release-asset-2e65be.s3.amazonaws.c ###################### 100.0% ==> ONE MORE STEP! Edit ~/.bashrc and add the following: if [ -f $(brew --prefix)/opt/mcfly/mcfly.bash ]; then . $(brew --prefix)/opt/mcfly/mcfly.bash fi