命令行忘性大?这个开源备忘工具一次解决你的所有烦恼

2019 年 9 月 22 日 机器之心

机器之心报道

参与:思源

实名推荐这个小工具,交互式的命令行备忘录,简直解决了我们记不住命令的烦恼。


命令行是非常高效的工具,但一个很常见的现象是,很多命令行过一段时间就容易忘。举个栗子,如果我们常用 git 命令行管理代码、利用 conda 命令管理开发环境,如果过一段时间没用了,那么你还记得如何用 git 将本地代码同步到 GitHub,还记得如何用 conda 命令删除一个本地环境吗?


当然,我们可以在网上搜索一下,也能快速找到答案,但总之还是挺不方便的。我们常见的做法是,将容易忘记的命令行写到笔记中去,忘了再查就是。但现在,有一个新的开源项目 navi,它提供了一个交互式的备忘录。


看看下面的动图,可以说,不用做笔记、不用查 History,我们再也不用担心忘记命令行了。



如上所示,navi 允许我们查阅所有的备忘录并执行对应的命令,值得注意的是,备忘录是实时匹配的,如果我键入 git,那么差不多就剩下 git 相关的命令行。


项目地址:https://github.com/denisidoro/navi


神奇的命令行备忘录: navi


机器之心也尝试了该工具,从安装到使用,总体感觉非常便捷。我们可以使用已有的命令行备忘录,也能自己导入以前常用的备忘录。我们可以配置可以直接运行的命令行,只需要手动加上参数就行;也可以写上备忘录注释,再手动键入命令行。


该项目表示,navi 的目标主要是:


  • 通过给定关键字或文字描述,更便捷地查找命令;

  • 如果作为长命令的辅助部分,查找后的结果也可以直接复制粘贴到主命令;

  • 我们的命令行使用习惯或备忘录可以与其它人共享;

  • 此外,该工具也能实现命令行的自动补全,不过这属于高级用法。


总体而言,它就是有助于命令行的整体应用。如下图所示,我们将几个 conda 命令也加到了备忘录中,键入命令行的时候就会显示提示:


这几条都常用的 conda 命令是我们手动加入的,其中最下一行的绿色「conda」是我们键入的内容,它缩小了命令行搜索范围。最上面白框内的命令行是当前输入的内容,按确认键就会执行该命令行。


navi 该怎么用


我们是在 macOS 系统上测试的,可以便捷地使用 Homebrew 安装:brew install denisidoro/tools/navi。其它系统估计满足环境也是可以的,如下是没有 Homebrew 时的安装方法:


git clone http://github.com/denisidoro/navi /opt/navicd /opt/navi
sudo make install

安装完成后,可以直接在命令行内键入 navi,从而进入到交互式备忘录界面。对于初始的 navi,它一共包含 9 个内置的备忘录,我们可以修改它们。



进入后的交互式界面如下图所示,我们删除了一些不太用得上的默认备忘录。


下面在黄色光标的地方,就可以愉快地键入并运行命令行了。


自定义个备忘录


navi 很重要的功能是能自定义备忘录,我们可以仿照自带的备忘录写一个新的。该项目表示,我们可以用命令行传递.cheat 文件,从而达到添加的目的:


navi --dir "/folder/with/cheats"

也可以直接把我们的备忘录文件夹添加到 Bash 环境中。机器之心做了更简单的一个操作,直接查找该工具的安装目录,然后手动删增备忘录,我们的发现这也是可以的。如果读者也使用 Homebrew 安装,那么在 usr/local/Cellar/navi 路径下就能找到默认备忘录。


当然,我们是要把以前的笔记做成.cheat 纯文本的,它的用法也不难,只不过要实现补全或带参数的命令,还是需要一些特殊的语法。如下是一个标准的.cheat 文件:


cheat 语法主要有以下几点:


  • 以「%」开头的行包含了特定的 Tag,也就是说上图「git」会作为标签加到该文件所有命令行最后;

  • 以「#」开头的行描述了该命令行的用法;

  • 以「$」开头的行应该为给定参数生成建议值;

  • 其它所有非空行应该都为可执行命令行。


如下所示为有效的.cheat 文件:


% git, code
# Change branch
git checkout <branch>

$ branch: git branch | awk '{print $NF}'

最后,我们真的比较推荐这个新工具,用它来查备忘命令行实在是太方便了。当然,如果读者们有用过更好的这类工具,也欢迎写留言推荐推荐。


文为机器之心报道,转载请联系本公众号获得授权
✄------------------------------------------------
加入机器之心(全职记者 / 实习生):hr@jiqizhixin.com
投稿或寻求报道:content@jiqizhixin.com
广告 & 商务合作:bd@jiqizhixin.com
登录查看更多
0

相关内容

在过去的二十多年里,会议吸引了来自世界各地的人机交互(HCI)的主要研究人员,提供了一个论坛来展示和传播HCI和用户界面的新技术成果、范式和愿景。由于先进的技术和用户交互的新可能性,AVI已经拓宽了它所涵盖的主题,但仍主要关注于新的视觉界面的概念、设计、实现和评估。官网链接:https://sites.google.com/dis.uniroma1.it/avi2018?utm_source=researchbib
【WWW2020-微软】理解用户行为用于文档推荐
专知会员服务
35+阅读 · 2020年4月5日
【资源】100+本免费数据科学书
专知会员服务
107+阅读 · 2020年3月17日
算法与数据结构Python,369页pdf
专知会员服务
162+阅读 · 2020年3月4日
一网打尽!100+深度学习模型TensorFlow与Pytorch代码实现集合
【电子书】Flutter实战305页PDF免费下载
专知会员服务
22+阅读 · 2019年11月7日
Keras作者François Chollet推荐的开源图像搜索引擎项目Sis
专知会员服务
29+阅读 · 2019年10月17日
机器学习相关资源(框架、库、软件)大列表
专知会员服务
39+阅读 · 2019年10月9日
手把手教你用Python做一个哄女友神器,小白可上手
网易智能菌
5+阅读 · 2019年6月15日
一个牛逼的 Python 调试工具
机器学习算法与Python学习
15+阅读 · 2019年4月30日
如何编写完美的 Python 命令行程序?
CSDN
5+阅读 · 2019年1月19日
占坑!利用 JenKins 持续集成 iOS 项目时遇到的问题
Python | Jupyter导出PDF,自定义脚本告别G安装包
程序人生
7+阅读 · 2018年7月17日
深度学习 | 免费使用Google Colab的GPU云计算平台
沈浩老师
12+阅读 · 2018年2月4日
码农日常工具推荐
架构文摘
4+阅读 · 2017年9月26日
Do RNN and LSTM have Long Memory?
Arxiv
19+阅读 · 2020年6月10日
A Survey on Edge Intelligence
Arxiv
51+阅读 · 2020年3月26日
Arxiv
7+阅读 · 2017年12月28日
VIP会员
相关VIP内容
【WWW2020-微软】理解用户行为用于文档推荐
专知会员服务
35+阅读 · 2020年4月5日
【资源】100+本免费数据科学书
专知会员服务
107+阅读 · 2020年3月17日
算法与数据结构Python,369页pdf
专知会员服务
162+阅读 · 2020年3月4日
一网打尽!100+深度学习模型TensorFlow与Pytorch代码实现集合
【电子书】Flutter实战305页PDF免费下载
专知会员服务
22+阅读 · 2019年11月7日
Keras作者François Chollet推荐的开源图像搜索引擎项目Sis
专知会员服务
29+阅读 · 2019年10月17日
机器学习相关资源(框架、库、软件)大列表
专知会员服务
39+阅读 · 2019年10月9日
相关资讯
手把手教你用Python做一个哄女友神器,小白可上手
网易智能菌
5+阅读 · 2019年6月15日
一个牛逼的 Python 调试工具
机器学习算法与Python学习
15+阅读 · 2019年4月30日
如何编写完美的 Python 命令行程序?
CSDN
5+阅读 · 2019年1月19日
占坑!利用 JenKins 持续集成 iOS 项目时遇到的问题
Python | Jupyter导出PDF,自定义脚本告别G安装包
程序人生
7+阅读 · 2018年7月17日
深度学习 | 免费使用Google Colab的GPU云计算平台
沈浩老师
12+阅读 · 2018年2月4日
码农日常工具推荐
架构文摘
4+阅读 · 2017年9月26日
相关论文
Top
微信扫码咨询专知VIP会员