LoginSignup
5
7

More than 3 years have passed since last update.

【捜索生活向上②】コマンド一発で、膨大なチートシートへのアクセス・確認が可能な「cheat.sh」を試用

Posted at
  • 常日頃から捜索に身を捧げる技術者生活を、効率化かつ負担軽減かつ幸福化するために奮闘する記事第二弾。
  • 「検索」より「捜索」という言葉を使うことで、純粋に自己の浸りだけを向上する生活。
  • 今回は、コマンド一発で膨大なチートシートを呼び出すことができる「cheat.sh」を試用していくことにしよう。

概要

  • Python製の、簡単に様々な言語やコマンドに対応したチートシートを確認できるコマンドツール。
  • コマンドのみならず、ブラウザ上でも利用することができる。
  • 公式サイト
  • 公式GitHub

特徴

多くの言語やコマンドに対応

  • 下記のような様々な情報のチートシートに対応している。
    • 50個以上のプログラミング言語
    • MySQLやRedis等のデータベースシステム
    • 1000個以上のLinuxやUnixのコマンド

速度の速さ

  • チートシートへのアクセスや応答の速度が速い。
  • 公式によると、原則100ms以内で応答するらしい。

統一的な情報

  • 世界標準のコミュニティ作成のリポジトリ等をチートシートとして、利用しているため、安全かつ実用性のある情報にアクセスすることができる。

ブラウザでの利用

  • コマンドのみならず、ブラウザから直接利用することができるため、様々な場面で利用できる。

専用のコマンドクライアント

  • curlコマンド(データ通信系コマンド)での利用も可能だが、専用のコマンドクライアントをインストールして、利用することができる。
  • クライアントをインストールするメリットは下記。
    • より簡潔な記述でのアクセス
    • zshやfish等にも対応したタブ補完モード
    • 履歴やクリップボードの管理
    • より対話的に利用できるシェルモード

各種エディタとの連携

  • 拡張機能やプラグインを利用することで、ターミナルやブラウザを開かずに、エディタのみでの完結が可能。
  • 主な対応エディタは下記。
    • Visual Studio Code
    • Vim
    • Emacs
    • IntelliJ IDEA

結果

  • 下記、実際の画面

test.png

  • 専用のコマンドクライアントで、より完結な記述

test.png

  • コマンドクライアントのシェルモードの利用で、更に便利な記述

tesy.png

  • エディタと統合して、拡張機能で利用することも可能。

test.gif

作業環境

  • Mac OS X 10.13.4
  • Homebrew 2.1.4
  • Visual Studio Code

インストール

  • コマンドクライアントを利用せず、curlコマンドを利用する場合は、インストール不要。

Mac

  • ターミナルを開き、下記のコマンドをうち、cheat.shのコマンドクライアントを導入する。
# cht.sh導入
$ curl https://cht.sh/:cht.sh | sudo tee /usr/local/bin/cht.sh

# 実行権限の設定
$ sudo chmod +x /usr/local/bin/cht.sh
  • 必須ではないが、コマンドクライアントをより対話的に利用できるシェルモードがある。
  • シェルモードを利用するには、下記のコマンドをうち、「rlwrap」というシェル設定ツールをインストールする必要がある。
$ brew install rlwrap

Windows

  • Windowsから、cheat.shを利用する場合、cht.exeというコマンドクライアントをインストールする必要がある。
  • 下記のコマンドをうち、実行環境を構築する。
    • ※インストールの際には、scoopというWindowsのパッケージ管理ツールを先に導入して置く必要がある。
    • ※未導入の場合は、こちらを参考にscoopをインストール
$ scoop install cht
  • ※cht.exeは、下記以降での記述と異なるため、詳細な操作方法はこちら

基本操作

  • 各基本操作は下記。
内容 curlコマンド コマンドクライアント
ファーストページ確認 curl cheat.sh/ cht.sh /
対応言語やコマンド確認 curl cheat.sh/:list | grep 言語 cht.sh /:list | grep 言語
言語別の全チートシート確認 curl cheat.sh/言語/:list cht.sh 言語 :list
言語別のHelloページ確認 curl cheat.sh/言語/:hello cht.sh 言語 hello
言語別の基礎文法ページ確認 curl cheat.sh/言語/:learn cht.sh 言語 :learn
言語やコマンド別のキーワード検索 curl cheat.sh/言語/キーワード+キーワード2
例 : curl cheat.sh/言語/parse+json
※curlでの複数キーワード指定は、「+」をつける必要がある。
cht.sh 言語 キーワード キーワード2
例 : cht.sh js parse json
強調(ハイライト)表示の無効化 curl cheat.sh/言語/キーワード?T cht.sh 言語 キーワード ?T
コメントを除いた表示 curl cheat.sh/言語/キーワード?Q cht.sh 言語 キーワード ?Q
テーマの確認 curl cht.sh/:styles-demo cht.sh :styles-demo
テーマの設定 curl cht.sh/言語/キーワード?style=テーマ cht.sh :style=テーマ
シェルモードの起動 不可 cht.sh --shell
表示 : cht.sh>
言語別のシェルモード起動 不可 cht.sh --shell go
表示 : cht.sh/go>
シェルモードでの操作 不可 cht.sh>cd js
cht.sh/js>parse json

エイリアス設定

  • 適宜エイリアスを任意に設定しておくことで、短い記述で簡単にチートを呼び出せる。
  • 基礎的なエイリアス設定は、下記。
    • 記述場所として、~/.bashrcを利用。
~/.bashrc
# 「cht 言語 キーワード」とかで呼び出すため。
alias cht='cht.sh /'
# 「chsh 言語」とかでシェルモードを起動するため
alias chsh='cht.sh --shell ' 
# 「hello 言語」とかで各言語のHelloページを表示するため
hello() {
 cht.sh $1 hello
}
# 「learn 言語」とかで各言語の学習ページを表示するため
learn() {
 cht.sh $1 hello
}

エディタとの連携

Visual Studio Code

  • エディタからcheat.shのチートシートにアクセスするため、下記の拡張機能を導入する。
    • Snippet
    • 拡張機能の導入は、ショートカットでCtrl(cmd) + Shift + Xをクリックして、「Snippet」と検索して導入する。
  • 導入後、各ファイル上で、Ctrl(cmd) + Shift + Pをクリック。
  • 表示される入力欄に「Snippet: Find Inplace」と入力して、Enterキーをクリック
  • 表示される入力欄にキーワード(例 : hello)を入力して、Enterキーをクリック
  • 内容がファイル上に挿入される。

その他エディタ

まとめ

  • 今回は、チートシートの呼び出しということで、「カンニングをしてしまった」という、なかなか除去できない経験による、こびりつき思考と戦いながら、記事を書く。
  • 「簡単な記述での呼び出し」に魅力を感じて、基礎的なコマンドチートも連続で呼び出してしまう。
  • 次回は、利用機会の増えたデータベース関連の捜索術を探していくことにしよう。

参考

5
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
7