翻译自:https://www . oster chnix.com/MC fly-a-replacement-to-ctlr-bash-history-search-feature/
作者:Sk
译者:刘畅
如果你在命令行模式下花了很长时间,那么你一定使用过或者听说过Bash的反向搜索功能,而在BASH中执行反向搜索功能的快捷键是Ctrl R,通过使用这个功能,我们可以找到我们执行过的命令,而无需再次输入。当然,您可以使用上下键来搜索您的bash命令记录,但是使用Ctrl r快捷键可以使搜索过程更加简单和快速。今天,我找到了Bash历史命令的搜索功能Ctrl r的替代品,它就是小飞侠。小飞侠是一个用Rust编程语言编写的简洁工具。它附带了一个智能搜索引擎来取代Ctrl r的默认搜索功能,即Bash历史命令。小飞侠提供的命令建议由一个小型神经网络实时分类。
小飞侠重新绑定了Ctrl r快捷键,您可以从您的Bash历史命令中找到所有最近执行的命令。它通过跟踪以下信息来增强shell历史命令搜索功能:
命令的结束状态:运行命令时的时间戳和运行命令的目录。它将所有跟踪信息保存在SQLite数据库中。因为它跟踪命令的历史结束状态,所以您可以轻松忽略失败的命令。听起来很酷,对吧?
给出指挥建议时,会考虑以下因素:
您在哪个目录中执行了此命令?将来,您可能会在同一个目录中重复该命令。在执行此命令之前,您执行了什么命令?你多久执行一次这个命令?你最后一次执行这个命令是什么时候?这个命令是你在小飞侠选择的吗,这个命令的历史结局是怎样的?因为很有可能你不会听从失败的命令,对吗?小飞侠维护您的默认Bash历史文件,因此您可以随时停止使用它。小飞侠不仅服务于BASH,还可以扩展到其他shell程序。
安装 McFly
在Linux中,小飞侠可以使用Linuxbrew安装。如果你还没有安装Linuxbrew,可以参考下面这个链接。(LCTT翻译:我从它的GitHub主页了解到,也可以下载它的二进制文件使用。)Linuxbrew:Linux和Mac OS X的通用软件包管理一旦安装了Linux brew,运行以下命令安装小飞侠:
$ brew tap cantino/mcfly https://github.com/cantino/mcfly
$ brew安装mcfly
安装完成后,您将看到以下输出:
==从cantino/mcfly安装mcfly
==下载https://github.com/cantino/mcfly/releases/download/v 0 . 2 . 5/mcfly-v 0
==下载自https://github-production-release-asset-2e 65 be . S3 . amazonaws . c
######################################################################## 100.0%
==再走一步!编辑~/。bashrc并添加以下内容:
if[-f $(brew-prefix)/opt/MC fly/MC fly . bash];然后。$(brew-prefix)/opt/mcfly/mcfly . bash
船方不负担装货费用
/home/linuxbrew/。linuxbrew/Cell/mcfly/v 0 . 2 . 5: 4个文件,3.5MB,33秒内构建
正如您在上面看到的,在使用小飞侠之前,我们需要做一些更多的配置。
将以下几行添加到您的~/。bashrc文件:
if[-f $(brew-prefix)/opt/MC fly/MC fly . bash];然后。$(brew -前缀)/opt/mcfly/
mcfly.bashfi
最后,再运行下面的命令来让更改生效。
$ source ~/.bashrc
多情的煎蛋第一次执行上面的这个命令时,你的 BASH 历史将会被导入 McFly 的数据库。依据你的 bash 历史文件的大小,这个过程将花费一些时间。一旦导入完成,你讲看到下面的提示信息。
McFly: Importing Bash history for the first time. This may take a minute or two...done.
现在你就可以使用 McFly 了。
使用方法
要在你的命令历史中执行搜索,只需要键入 mcfly search 再加上命令名的一部分,最后敲击回车键即可。Mcfly 将会基于你刚才键入的搜索查询语句给出命令建议。
$ mcfly search <part-of-the-command>
例如我键入了下面的命令:
$ mcfly search mk
下面展示的是我 Ubuntu 机子上的示例输出:
如你所见,我已经使用过 mkdir 这个命令两次。假如你想从这些命令建议中执行其中之一,只需使用上下键来选择它,然后敲击回车键来执行它就可以了。假如你想编辑其中一个命令,则需要先选择它,然后敲 TAB 键将这个命令放置到终端中,最后在运行它之前更改它就行了。要从历史中删除已经选择的命令,按 F2 即可。
或者,输入下面的命令来打开历史搜索,然后输入任意一个命令或者命令的一部分来从你的历史命令中查看它提供的建议。
$ mcfly search
在你输入的同时, McFly 将会展示命令的提示。
下面是一个介绍 McFly 的简短演示视频:
你还可以使用下面的命令来查看帮助:
$ mcfly --help
移除 McFly
不喜欢 McFly,没问题!可以使用下面的命令来移除它:
$ brew uninstall mcfly
$ brew untap cantino/mcfly
最后,移除先前添加到 ~/.bashrc 文件中的几行命令。
好了,这些就是所有了,更多精彩内容敬请期待,请保存关注!
干杯!
via: https://www.ostechnix.com/mcfly-a-replacement-to-ctrlr-bash-history-search-feature/
作者: SK 选题: lujun9972 译者: FSSlc 校对: wxy
本文由 LCTT 原创编译, Linux中国 荣誉推出