cheat.sh在手,天下我有

前言

作为程序员需要了解的东西有很多,日常编码和写脚本脱离不开各式语言与 Linux 命令。为了记住一些杂乱的或不被经常使用的知识点,我们迫切需要一个“小抄”/备忘录,小抄内容多了自然繁杂,所以我们希望这个小抄要:

  1. 简洁:只包含你想要的内容,没有其他「花边」内容

  2. 快速:可以立即使用

  3. 全面:能基本包含你所有问题的答案

  4. 通用:它应该在任何地方、任何时间都可用,不需要任何准备

  5. 不唐突:它不应该让你从主要任务上分心(比如减少应用切换)

  6. 辅导:它应该帮助你学习这个科目(在答案基础上扩展知识)

  7. 不显眼:应该可以在完全不被注意的情况下使用(就好比划词翻译,鼠标轻点就有答案)

老gong,你是想介绍哆啦A梦吗?

非也,其实是 cheat.sh

cheat.sh 介绍

cheat.sh 就是一个可以满足上述愿望的小哆啦,目前在 Github 的形式是这样滴:

Commit 也非常活跃,就是这么一个哆啦

  • 它提供一个简单的 curl/浏览器接口方便我们查询

  • 目前覆盖 58 种编程语言,多种 DBMS以及超过 1000 个UNIX/Linux 常用命令

  • 提供对世界上最好的社区驱动的备忘单存储库的访问,与StackOverflow持平(绝对是高质量的内容)

  • 提供命令行客户端

  • 可以嵌套在代码编辑器中使用,比如 Intellij IDEA 和 VS-Code

  • 支持一个特殊的隐身模式,可以完全隐形的使用它 (感觉挺神秘的呢)

先来认识一下,打开命令行终端,使用 curl 命令输入:

curl cht.sh

如何使用 cheat.sh

先拿几个常用的 UNIX/Linux 命令练练手:

curl cht.sh/tar

瞧这整理的规范和简洁不?

curl cht.sh/tr

答案依旧整洁规范, 同时还高亮显示,友好的很啊

如果你不知道某个命令,还可以使用 ~Keyword 的形式来查询,比如你想查看如何建立快照

curl cht.sh/~snapshot

上面说过, cheat.sh 包含 1000 多个常用的 UNIX/Linux 命令,当需要的时候,按照语法 curl cht.sh/<you-cmd> 尽情查询吧

除了 Linux 命令,我们还说支持 58 种语言,当写代码时某个 API 不会用或需要完成某些操作,cheat.sh 依旧可以帮上忙,比如我总是记不住 Java Lambda 的 group 操作

curl cht.sh/java/lambda+group

记住下面的标准格式,搜索的结果都是和 StackOverflow 一样的高质量

如果这个答案还不是你想要的,你就可以添加数字进行翻页获取其他结果

另外你觉得结果中的注释很碍眼的话,可以在每次查询的后面加上 \?Q ,就像这样:

curl cht.sh/java/lambda+group\?Q

当然每种语言都默认支持 :list 和 :help 两种查询方式,作为帮助指令,大家可以自行尝试了,比如 go 语言

curl cht.sh/go/:listcurl cht.sh/go/:help

相信到这里,你已经可以掌握 cheat.sh 的基本使用方式了

但是,这种 curl 方式总是显得不是很方便,比如空格要用 + 替代,日常工作语言比如只有 Java,每次都要输入 curl cht.sh/java/xxxxxxx 这样就会显得很麻烦, 为了解决这些问题,cheat.sh 很贴心,也提供了命令行客户端,大大简化了搜索操作

Cheat.sh 命令行客户端

安装

安装 CLI Client (Command Line Client)非常简单,只需要依次执行下面的命令即可:

# 注意你的环境变量 PATH 已经 import 了 ~/bin 下的内容mkdir -p ~/bin/curl https://cht.sh/:cht.sh > ~/bin/cht.shchmod +x ~/bin/cht.sh

如果要保证 shell 模式可用,还需要安装一个依赖 rlwrap, 下面两种安装方式都可以(我直接用brew安装的)

brew install rlwrap# 或者sudo apt install rlwrap

使用

有了 CLI Client 之后,来看一看搜索上的变化:

这个 CLI Client 还提供了一个更加便利的 shell 模式:

cht.sh --shell

如下图,每次直接按照语言搜索相关内容就可以了:

通常我们编程在一段时间内会用一种语言,我们可以进一步简化搜索过程,cd 到某个语言目录下:

如果进入 shell 模式,同时想一次性进入某个语言目录,也可以通过一条命令搞定:

cht.sh --shell java

隐身模式

相信很多小伙伴都配有划词工具,比如某个单词不会了,选中相应的单词,就会出来解释,cheat.sh 也有类似的模式,进入某个语言目录下之后,输入 stealth Q 就可以进入这个模式了:

用鼠标选中文本后,用起来的效果就是这样滴:

不过这里建议,搜索的单词不要超过 5 个

以上这些使用方式,默认都会调用它自己的服务,为了更快速的响应,我们可以搭建自己的服务,前提是要更改 CLI Client 的 server URL:

打开或新建 ~/.cht.sh/cht.sh.conf ,添加

CHTSH_URL=https://cht.sh            # URL of the cheat.sh server

然后就可以 run 自己的服务

git clone https://github.com/chubin/cheat.sh.gitcd cheat.shdocker-compose up

最后访问服务: http://localhost:8002

集成主流编辑器

cheat.sh 同样和主流编辑器有很好的集成:

Feature Emacs Sublime Vim VSCode IDEA QtCreator
Command queries
Queries from buffer
Toggle comments
Prev/next answer
Multiple answers
Warnings as queries
Queries history
Session id
Configurable server

Vim 的集成度是最高的,大家可以根据 cheat.sh-vim 自行配置

VSCode 和 IDEA 是大家高频使用的两个 IDE,和他们集成就很简单了,只需要安装相应的插件:

VSCode 插件

安装 vscode-snippet 就可以在 VSCode 中快速使用这个功能了

IDEA 插件

安装 idea-cheatsh-plugin 这个插件就可以在 Intellij IDEA 中使用这个功能了

总结

至于支持的 58 种语言都是什么,请大家自行参考 README 文档,关于 cheat.sh, 了解这些基本的使用就已经够了,还是那句话,好的工具是用来提高工作效率的,不要被工具过度捆绑

(0)

相关推荐

  • 从来没有这么强烈想推荐一个工具

    大家好,我是站长 polarisxu. 在逛 GitHub Trending 时看到了这个项目:https://github.com/chubin/cheat.sh,因为之前我整理过一系列 cheat ...

  • 数仓工具—Hive命令行(7)

    Hive 命令行 hive 命令行 是hive 提供的一个交互式终端,其实就是一个shell 脚本,主要用来做交互式查询 但是自从Hive 0.11引入了HiveServer2之后,就引入了另外一个终 ...

  • Linux下命令行cURL的10种常见用法示例

    前言 在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具.它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具. 语法: ...

  • VSCode 入门|极客教程

    VSCode 入门,今天我们先来聊一下 VS Code 的安装和更新.VS Code 初次使用的指引界面.语言设置,以及命令行使用等基础问题,以便你能快速上手VS Code. 文章目录 1 安装与版本 ...

  • Linux、编程界的哆啦A梦网站,你想要的任何命令这里都有

    今天给大家介绍一个非常实用的网站,无论你是开发,运维还是啥,无论你玩Py.C.Java还是SHell,这里都有你想要的东西. 为啥需要它 你是不是为了记各种命令和参数而烦恼,是不是为了某个语法不太理解 ...

  • Fiddler抓包13-fiddler 抓包导出 curl 命令行

    前言 curl是一个命令行工具 ,一般用于 linux 环境上发 http 请求,方便远程定位接口问题. fiddler 抓包后可以导出 curl 命令行,这样方便不会写 curl 的小伙伴快速的生成 ...

  • 文件下载上传小工具

    目录 前言 源码鉴赏 食用方法 前言 虽然现在文件上传下载工具多如牛毛,比如http.ftp.sftp.scp等方案都可以用于文件传输,但都是需要安装服务器甚至客户端. 有一种场景是我只需要临时上传或 ...

  • 高手不外传的三步上听法,这招在手天下我有!快来学习一下吧!

    高手不外传的三步上听法,这招在手天下我有!快来学习一下吧!

  • 每日一字硬笔(主)字,一字在手天下我有

    本期汉字:主 主字的要点:1.多横等距且平行 2.点竖直对 详细讲解:1.点竖直对,即主字的点画和竖画,重心上要在一条直线上,主字的竖画一定要写正,否则这个字的重心就会不稳,2.多横等距平行,即三个横 ...

  • 中文系,万金油专业,不培养作家,一招在手走天下

    上次聊了聊自动化专业,自动化专业是一个万金油专业.有朋友就问,有没有其他专业也是万金油专业呢? 有不少专业是万金油专业,尤其是人文社科类的专业.人文社科类的专业跟理工类专业不太一样.理工类专业的学习非 ...

  • 指间书——针线在手,天下我有

    当你学会一项手艺时,你的面前就是一个崭新的世界,你可以创造出无限可能. 这是当我学会几种绣花针法后的感受. 相当膨胀. 我并没什么雄心壮志要绣千里江山图,只是看到自己绣的花叶有模有样并且还挺结实,无比 ...

  • 小游戏《欢乐斗地主》解说:大王在手,天下我有?

    小游戏《欢乐斗地主》解说:大王在手,天下我有?

  • 流量在手,天下我有?酒水品牌流量观继续重塑

    流量必须创造经济效益 经济复苏,市场逐步回暖,但是大趋势下,消费领域资金流动性减缓,原料.运营成本的增加,对于一向关注流量的酒水企业,目前不得不更加关注效益的保证和提升. 对流量的认知和重视,酒水品牌 ...

  • 一笔在手,天下我有:汉王e典笔半月使用分享

    大家还记得多年前的文曲星吗?记得读初中的时候,有着比较强大的翻译功能的文曲星可火了,放在桌面上,看着就有逼格,而且翻译速度确实比翻词典要快.那时还很贵,但又容易坏. 今天与大家分享的一个数码产品,或者 ...

  • 一碗在手,天下我有,西班牙博主甜蜜演绎好线配好碗,萌化了老夫的少女心

    工欲善其事,必先利其器.在织女圈摸爬滚打了这么多日日夜夜,该钩的都钩了,想织的也都织了,如果可以再适当加入些艺术元素,那就更完美了. 西班牙博主Barruntando用软陶捏制的这道道"佳肴 ...

  • 涨停板在手,天下我有

    免责声明 壹丨本公众号所有观点仅代表个人立场,不具任何指导作用,对投资者不构成操作建议. 贰丨如有转载他人内容会尽量注明作者和出处,真实性需读者自行甄别.转载请注明出处,谢谢! 叁丨作者微信.朋友圈以 ...