開発効率を爆上げするための「Gemini CLI」使いこなし術をまとめました。APIやGoogle Cloud SDK(gcloud)を介して、コマンドラインからGeminiを縦横無尽に操るための実践的なテクニックを紹介します。
Gemini CLIの便利な使い方

星はおすすめをあらわします。
種類が多いので、★3つからマスターしましょう。
必須
ファイルをコンテキストに含める (@ 記号) ★★★
多分Gemini CLIを使いこなしている人は、複数の長文プロンプトを使っているのではないかと思います。ファイル内容をコピペしたりしていていは時間の無駄。
「特定のファイルに書かれているプロンプトを実行する」ときは、ファイル名の前に @ をつけることでCLIに明示的にファイルを指定することができます。
例: do @calc.md
プログラムソースを指定するなど、ファイルを直接読み込ませる場合も@を使います。
例: このコードのバグを見つけて @main.py これでGeminiが自動的にそのファイルを読み取って解析してくれます。
YOLOモードで自動承認 (Ctrl + Y) ★★★
通常、Geminiが「ファイルを修正しますか?」や「コマンドを実行しますか?」と聞いてきた際は承認が必要です。
これは勝手にファイルを削除されたり変更されたりという危険を回避できますが、せっかく自動化をしようと思って使っているときに、プロセスが止まってしまうことにもつながります。
そんな時便利なのが「Ctrl + Y」。
これを押すと YOLO (You Only Live Once) モード になり、すべての提案を自動で実行するようになります。
システム指示のパーソナライズ ★★★
(GEMINI.md)プロジェクトのルートディレクトリに GEMINI.md というファイルを置きます。
それがそのプロジェクトにおける「標準の指示(システムプロンプト)」として読み込まれます。
「常に日本語でレスポンスして」「テストコードは必ず作成して」といったルールを自動適用できます。
基本的なショートカット ★★★
Ctrl + C実行中の回答を強制終了(ストップ)する
Ctrl + Lターミナルの画面をクリアする(ログを消す)
Ctrl + Dセッションを終了して終了する
Tabコマンドやファイル名の補完
セッション統計の確認 (/stats) ★★★
現在のチャットでどれくらいのトークンを消費したか、APIの呼び出し回数は何回か、といった情報を /stats で即座に確認できます。
APIの無料枠を気にしながら使う場合に必須のコマンドです。
プロンプト履歴の検索 (Up / Down キー) ★★★
通常のシェルと同様に、上下キーで過去に送信したプロンプトを呼び出せます。
似たような指示を何度も出す際、わざわざ打ち直す必要はありません。
文脈を圧縮してトークン節約 (/compress) ★★★
会話が長くなると、過去の履歴でトークンを大量に消費し、動作が重くなったりコストがかさんだりします。
/compress コマンドを使うと、これまでの流れを要約し、重要な文脈だけを残してトークンをリセットできます。
一気に作業を進めたい時に便利です。
シェルモードの切り替え (! または Tab) ★★★
Gemini CLIの中から直接ターミナルコマンドを実行したい場合は、行頭に ! を入力します。
またCLIないから「shell start test.md」のようにうつとtest.mdをテキストエディタで開くこともできます。
また、空の入力欄で Tab キーを押すと、Geminiへの指示モードとシェルモードを素早く切り替えられます。
明示的にWeb Search ★★★
Gemini CLIが便利なのは、ウェブ検索機能が使いやすいこと。
プロンプトで「Web Searchで〇〇を調べて、分析してください」などのように、明示的に「Web Searchで」と指定した方がウェブサーチを実行してくれます。
知っておくと便利
標準入力(パイプ)を活用する ★★
ターミナルの他のコマンドの結果を直接Geminiに渡せます。ログの解析や、長いドキュメントの要約に最適です。
例: cat error.log | gemini "このエラーの原因と対策を教えて"
Markdown出力のパイプ渡し ★★
Gemini CLIの回答をそのままPDFやHTMLに変換したい場合、pandoc などのツールと組み合わせると、ドキュメント作成が自動化できます。
例: gemini "プロジェクトの仕様書を書いて" | pandoc -o spec.pdf
ワンライナーで特定形式の出力を強制 ★★
スクリプトに組み込む際、余計な解説を省いて「結果だけ」を出させると後処理が楽になります。
例: gemini "このリストをJSON形式にして。解説は不要。" > data.json
会話の保存と再開 (/chat save / resume) ★★
進行中のタスクを中断して、後で続きから始めたい時に役立ちます。
保存: /chat save feature-abc
再開: /chat resume feature-abc
ストリーミング出力を有効にする ★★
回答が長い場合、最後まで待つのは時間がもったいないです。ストリーミングモード(デフォルトで有効な場合が多いですが)を利用して、生成されたそばから読み始めましょう。
環境変数でのAPIキー管理★★
毎回キーを入力するのは危険で手間です。
export GEMINI_API_KEY='your_key_here' をシェル設定に書いておき、セキュリティを高めつつ入力を省略しましょう。
ケースに応じて使用
--system フラグで「人格」を固定 ★
コマンドライン引数でシステムプロンプトを渡せる場合、その場限りで性格を変えられます。
例: gemini --system "あなたは毒舌なコードレビュアーです" "このコードどう?"
モデルの動的切り替え ★
速度優先の時は gemini-1.5-flash、推論精度重視の時は gemini-1.5-pro というように、コマンド引数でモデルを使い分けましょう。
例: gemini --model flash "クイックな質問"
温度(Temperature)パラメータの調整 ★
クリエイティブな文章なら --temp 0.8、確実なコード生成なら --temp 0.1 のように設定します。値が低いほど、回答が安定し、勝手な推測(ハルシネーション)を抑えられます。
エイリアスで「専用エージェント」を作る ★
.zshrc や .bashrc にエイリアスを登録して、特定の役割を持たせます。
例: alias g-fix='gemini "以下のコードのバグを修正して解説して:"' これで g-fix @main.py と打つだけでデバッグが始まります。
特定のディレクトリだけを対象にする (.geminiignore) ★
プロジェクト内の巨大な node_modules やビルド済みファイルをGeminiに読み込ませたくない場合は、.geminiignore ファイルを作成しましょう。
.gitignore と同じ書き方で、AIがアクセスする範囲を制限できます。
ディレクトリ構造の可視化と共有 ★
プロジェクト全体を把握させたいとき、tree コマンドと組み合わせると効果的です。
例: tree -I "node_modules" | gemini "このプロジェクト構成に足りないファイルはある?"
プロンプトを外部エディタで編集 (Ctrl + X) ★
ターミナル上で長いプロンプトを打つのは大変です。
Ctrl + X を押すと、設定されている外部エディタ(VS CodeやVimなど)が開き、そこでじっくりプロンプトを書いて保存・終了するだけでGeminiに送信できます。
再ログイン ★
間違ったグーグルアカウントでログインしている場合「/auth」でグーグルログインをやり直すことができます。