cheat.sh,它不是腳本,而是一個網址。內部涵蓋 56 種編程語言、多種 DBMS 和 1000 多個最重要的 UNIX/Linux 命令,與 StackOverflow 不相上下。
讓我們想象一下,好用的編程速查表(小抄),它應該是什么樣子?它應該有什么特點?
- 簡潔——它應該只包含你需要的東西,沒有別的。
- 快速——應該可以立即使用它。
- 全面——它應該包含每個可能問題的答案。
- 通用——它應該隨時隨地可用,無需任何準備。
- 不顯眼——它不應該分散你對主要任務的注意力,可以潤物細無聲。
- 輔導——它應該幫助你學習這門學科。
有這樣的速查表嗎?真的有,它易于安裝,甚至可以自動完成。
它就是 cheat.sh,它不是腳本,而是一個網址。內部涵蓋 56 種編程語言、多種 DBMS 和 1000 多個最重要的 UNIX/Linux 命令,與 StackOverflow 不相上下。
怎么用呢?
隨處可用,無需安裝,但可以安裝以供離線使用。超快,通常在 100 毫秒內返回答案。
舉個簡單的例子,我們想找到 Python 關于文件的操作,最常用的有兩種方式,一種在 Linux 終端,一種在瀏覽器:
Linux Terminal
1、可以在終端內鍵入
curl cheat.sh/python/file

即給出最佳的代碼實踐,同時又提供詳細的注釋和解釋,雖說是英文注釋,但很清晰,不影響你理解。
瀏覽器
2、可以在瀏覽器輸入:cheat.sh/python/file,

查一些 Linux 命令:

如果你覺得輸入的命令太長,那么我們可以給這個命令起一個別名,將以下內容保存在 install_cht.sh 中
PATH_DIR="$HOME/bin" # Linux 的 $PATH
mkdir -p "$PATH_DIR"
curl https://cht.sh/:cht.sh > "$PATH_DIR/cht.sh"
chmod +x "$PATH_DIR/cht.sh"
然后執行 sh install_cht.sh
這樣,我們在任何一個打開終端,執行這些命令,就可以查詢使用方法了:
$ cht.sh go reverse a list
$ cht.sh python random list elements
$ cht.sh js parse json
內部涵蓋 56 種編程語言、多種 DBMS 和 1000 多個最重要的 UNIX/Linux 命令,足夠用了。例如 cht.sh js parse json
? cht.sh js parse json
/*
* The standard way to parse JSON in JavaScript is
* [**`JSON.parse()`**][1]
*
* The [`JSON`][2] API was introduced with
* [ES5](https://en.wikipedia.org/wiki/ECMAScript#5th_Edition "ES5") (2011) and
* has since been implemented in >99% of browsers by market share, and
* Node.js. Its usage is simple:
*
* <!-- begin snippet: js hide: false console: true babel: false -->
*
* <!-- language: lang-js -->
*/
const json = '{ "fruit": "pineapple", "fingers": 10 }';
const obj = JSON.parse(json);
console.log(obj.fruit, obj.fingers);
/*
* <!-- end snippet -->
*
* ---
*
* The only time you won't be able to use `JSON.parse()` is if you are
* programming for an ancient browser, such as IE 7 (2006), IE 6 (2001),
...
交互式訪問
以 shell 模式啟動客戶端更方便:
$ cht.sh --shell
cht.sh> go reverse a list
交互式需要安裝 rlwrap,可以執行下面命令安裝:
Windows
Windows 用戶也可以用,安裝下 cht.exe[1] 就可以了
如果想自己部署在內網
有時候,開發環境可能沒有聯網,那么就可以自己部署,也非常方便,下載后用 Docker 啟動下就可以了。
git clone https://github.com/chubin/cheat.sh.git
cd cheat.sh
docker-compose up
然后打開 http://localhost:8002 就可以用了,在內網,就可以 curl http://localhost:8002/xxx 來查詢。
集成到 IDE 中
這是高端一點的操作了。
可以直接從編輯器中使用 cheat.sh,目前支持 Emacs、Sublime、Vim 和 Visual Studio Code。但并非所有插件都支持所有功能:

這樣無需打開瀏覽器、谷歌搜索、瀏覽 Stack Overflow 就可以將所需的代碼片段復制到剪貼板中,然后將它們粘貼到編輯器中,而無需離開編輯器。比如說 Vim:
需要在 Vimrc 中配置插件:
" some configuration above ...
let mapleader=" "
call vundle#begin()
Bundle 'gmarik/vundle'
Bundle 'scrooloose/syntastic'
Bundle 'dbeniamine/cheat.sh-vim'
call vundle#end()
let g:syntastic_javascript_checkers = [ 'jshint' ]
let g:syntastic_ocaml_checkers = ['merlin']
let g:syntastic_python_checkers = ['pylint']
let g:syntastic_shell_checkers = ['shellcheck']
" some configuration below ...
然后我們在 Vim 的緩沖區中輸入需要查找的關鍵字,然后按KK。如果想直接在緩沖區獲得答案,可以按KB,這很 geek 不是嗎?


其他編輯器請參考官方文檔:IDE集成[2]
面試模式
沒想到吧?這玩意在面試的時候可以偷偷幫你一把,只需要在面試前進入 shell 模式,然后輸入 stealth Q:

請看這個動畫:
