做为程序员须要了解的东西有不少,平常编码和写脚本脱离不开各式语言与 Linux 命令。为了记住一些杂乱的或不被常用的知识点,咱们迫切须要一个“小抄”/备忘录,小抄内容多了天然繁杂,因此咱们但愿这个小抄要:java
老gong,你是想介绍哆啦A梦吗?git
非也,实际上是 cheat.sh
程序员
cheat.sh 就是一个能够知足上述愿望的小哆啦,目前在 Github 的形式是这样滴:github
Commit 也很是活跃,就是这么一个哆啦面试
先来认识一下,打开命令行终端,使用 curl 命令输入:docker
curl cht.sh
先拿几个经常使用的 UNIX/Linux 命令练练手:shell
curl cht.sh/tar
瞧这整理的规范和简洁不?编程
curl cht.sh/tr
答案依旧整洁规范, 同时还高亮显示,友好的很啊vim
若是你不知道某个命令,还可使用 ~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/:list curl cht.sh/go/:help
相信到这里,你已经能够掌握 cheat.sh 的基本使用方式了
可是,这种 curl 方式老是显得不是很方便,好比空格要用 +
替代,平常工做语言好比只有 Java,每次都要输入 curl cht.sh/java/xxxxxxx 这样就会显得很麻烦, 为了解决这些问题,cheat.sh 很贴心,也提供了命令行客户端,大大简化了搜索操做
安装 CLI Client (Command Line Client)很是简单,只须要依次执行下面的命令便可:
# 注意你的环境变量 PATH 已经 import 了 ~/bin 下的内容 mkdir -p ~/bin/ curl https://cht.sh/:cht.sh > ~/bin/cht.sh chmod +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.git cd cheat.sh docker-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-snippet 就能够在 VSCode 中快速使用这个功能了
安装 idea-cheatsh-plugin 这个插件就能够在 Intellij IDEA 中使用这个功能了
至于支持的 58 种语言都是什么,请你们自行参考 README 文档,关于 cheat.sh, 了解这些基本的使用就已经够了,仍是那句话,好的工具是用来提升工做效率的,不要被工具过分捆绑
我的博客:https://dayarch.top
加我微信好友, 进群娱乐学习交流,备注「进群」
欢迎持续关注公众号:「日拱一兵」
- 前沿 Java 技术干货分享
- 高效工具汇总 | 回复「工具」
- 面试问题分析与解答
- 技术资料领取 | 回复「资料」
以读侦探小说思惟轻松趣味学习 Java 技术栈相关知识,本着将复杂问题简单化,抽象问题具体化和图形化原则逐步分解技术问题,技术持续更新,请持续关注......