做爲程序員須要瞭解的東西有不少,平常編碼和寫腳本脫離不開各式語言與 Linux 命令。爲了記住一些雜亂的或不被常用的知識點,咱們迫切須要一個「小抄」/備忘錄,小抄內容多了天然繁雜,因此咱們但願這個小抄要:java
老gong,你是想介紹哆啦A夢嗎?git
<img src="https://cdn.jsdelivr.net/gh/FraserYu/img-host/blog-img20201115205225.png" style="zoom:25%;" />程序員
非也,實際上是 cheat.sh
github
cheat.sh 就是一個能夠知足上述願望的小哆啦,目前在 Github 的形式是這樣滴:docker
Commit 也很是活躍,就是這麼一個哆啦shell
先來認識一下,打開命令行終端,使用 curl 命令輸入:編程
curl cht.sh
先拿幾個經常使用的 UNIX/Linux 命令練練手:vim
curl cht.sh/tar
瞧這整理的規範和簡潔不?瀏覽器
curl cht.sh/tr
答案依舊整潔規範, 同時還高亮顯示,友好的很啊curl
若是你不知道某個命令,還可使用 ~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, 瞭解這些基本的使用就已經夠了,仍是那句話,好的工具是用來提升工做效率的,不要被工具過分捆綁日拱一兵 | 原創