博客 / 詳情

返回

Gemini CLI 核心命令指南,讓工作從從容容遊刃有餘

讓我看看,誰還沒有用上 Gemini CLI?

image.png

  • 免費額度:個人 Google 賬户可享受每分鐘 60 次請求的免費額度,足以滿足日常開發中的交互需求。
  • 強大的模型支持:由 Gemini 2.5 Pro 模型驅動,擁有高達一百萬 token 的上下文窗口,能夠處理和理解大型代碼庫或複雜的文檔。
  • 內置工具集:集成了多種實用工具,包括使用 Google 搜索來提供有時效性的回答、執行文件系統操作、運行 shell 命令以及獲取網頁內容。
  • 可擴展性:支持模型上下文協議(Model Context Protocol, MCP),為開發者創建自定義工具集成提供了可能。
  • 終端優先設計:完全為那些以命令行作為主要工作環境的開發者量身打造。
  • 開源許可:項目基於 Apache 2.0 許可證開源,保證了其透明度和社區參與度。

Gemini CLI 部署起來也很容易,用 ServBay 一鍵安裝好 Node.js 20或者更高的版本,直接通過npm就可以安裝Gemini CLI。

npm install -g @google/gemini-cli

之所以推薦 ServBay ,是因為它提供了一個隔離的集成開發環境,允許開發者通過圖形化界面一鍵部署和管理包括 Node.js、Rust 在內的多種服務。這種方式避免了使用版本管理器(如 nvm)在系統全局範圍內頻繁切換的複雜性,也杜絕了傳統包管理器(如 Homebrew)可能帶來的依賴混亂,乾淨又衞生。

image.png

安裝完畢,便可以開始探索 Gemini CLI 的功能。

初始配置:建立與項目的連接

首次在項目中使用 Gemini CLI,需要執行幾個基礎命令來完成初始化和配置。

  • /init: 在項目根目錄執行此命令,是與 Gemini CLI 建立聯繫的第一步。它會分析項目結構,為後續的交互提供上下文基礎。
  • /auth: 此命令用於處理身份驗證。首次執行時,它會引導用户完成 Google 賬户的登錄與授權流程,確保 CLI 擁有訪問 AI 服務的權限。
  • /about: 查詢當前 Gemini CLI 的版本、所使用的底層模型以及配置的身份驗證方法。這個命令有助於瞭解工具的當前狀態。
  • /help & /docs: 遇到疑問時,/help 提供了一個快速的命令列表。而 /docs 則會在瀏覽器中打開官方文檔,供查閲更詳盡的信息。

核心功能:日常工作流中的命令

熟悉基本配置後,以下這些命令將成為日常開發中的得力工具。

  • ! (Shell 命令前綴) :這是一個極為實用的功能。在輸入框中以 ! 開頭,可以直接執行 shell 命令。更進一步,可以結合自然語言讓 Gemini 解釋或生成命令,這對於處理那些複雜或不常用的命令尤為有效。
  • /tools: 執行此命令可以列出 Gemini 當前可用的所有工具集。瞭解其能力邊界,有助於提出更精準、更有效的問題。
  • /editor:對於需要輸入大段代碼或複雜問題的場景,終端的單行輸入框顯得捉襟見肘。通過 /editor 命令配置一個外部文本編輯器(如 VS Code 或 Vim),之後使用 Ctrl+X 快捷鍵即可在熟悉的環境中編寫提示,完成後保存退出,內容便會自動發送。

會話管理:保存與追溯思路

與 Gemini 的交互是一個連續的對話過程,保留這些上下文對於解決複雜問題非常有價值。

  • /chat:這是一個功能強大的會話管理命令。使用 /chat save <name> 可以將當前的對話保存下來,以便日後通過 /chat resume <name> 繼續。它還支持 listdelete 等操作來管理所有已保存的會話。
  • /clear:當需要開始一個全新的話題時,此命令可以清空當前的對話歷史和屏幕,提供一個乾淨的交互界面。

實際應用場景

下面通過幾個具體的例子,展示 Gemini CLI 在實際工作中的應用。

代碼重構建議

假設有一個用於數據驗證的函數,其邏輯雖然正確但不夠簡潔。

// file: validation.js
function checkUserAccess(userObject) {
  if (userObject && userObject.isActive && userObject.permissions.level > 1) {
    return true;
  }
  return false;
}

可以向 Gemini CLI 提出請求:

@validation.js Please refactor the checkUserAccess function to be more concise.

Gemini 可能會返回一個更精煉的版本:

// Suggested refactoring
const checkUserAccess = (userObject) =>
  !!userObject && userObject.isActive && userObject.permissions.level > 1;

生成 Git 提交信息

編寫規範的 Git commit message 是一項耗時的任務。可以藉助 Gemini CLI 自動化這個過程。首先,查看暫存區的代碼變更:

!git diff --staged

然後,基於這些變更請求生成提交信息:

From the diff above, write a Conventional Commit message.

這將產出一條格式良好、內容準確的提交信息,大大節省了思考和撰寫的時間。

解釋複雜的 Shell 命令

當遇到一段從網絡上覆制的、不甚明瞭的 shell 命令時,直接運行存在風險。可以讓 Gemini 先行解釋。

> Explain this command: awk -F',' '{print $1, $3}' data.csv

Gemini 會提供一個清晰的逐段解釋:

✦ Certainly. This command uses `awk` to process a CSV file. Here is a breakdown:

  * `awk`: This is the command-line utility being invoked, designed for text processing.
  * `-F','`: The `-F` option sets the field separator. Here, it's set to a comma (`,`), which means `awk` will treat each line as a series of comma-separated fields.
  * `'{print $1, $3}'`: This is the action `awk` will perform on each line of the input. It instructs `awk` to print the first field (`$1`) followed by a space, and then the third field (`$3`).
  * `data.csv`: This is the input file for the command.

  In summary, the command reads the `data.csv` file, splits each line by commas, and prints the first and third columns from each line to the standard output.

結語

將 Gemini CLI 集成到開發工作流中,讓你的開發工作從從容容遊刃有餘。使用 ServBay 搭建一個可靠的運行環境開始,到熟練運用其核心命令解決編碼、代碼管理和系統操作中的實際問題,開發者可以獲得更流暢、更專注的工作體驗。掌握這些工具,你就不會匆匆忙忙連滾帶爬。

user avatar u_16316524 頭像 tencent_yinshipinxiaojiejie 頭像 dtstack 頭像 apacheiotdb 頭像 zhuxianzhong 頭像 wintersun 頭像 u_17423871 頭像 shangqingdedabaicai_bubazu 頭像
8 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.