三個開源終端工具分別對應寫程式碼時的三個環節:Yazi 用來瀏覽和預覽檔案,fzf 用來從一長串候選裡挑出一項,Lazygit 用來檢查和暫存 Git 改動。本文只根據各專案官方文件裡寫明的行為,說明怎麼把它們串成一套流程。核對的版本:fzf 0.74.5、Lazygit 0.66.2、Yazi 26.9.1。Boloop 沒有為本文安裝或執行這些工具,請以你實際安裝版本的文件為準。
三個工具各做什麼、不做什麼
- fzf 從標準輸入讀取候選行,把選中的那一行寫到標準輸出。沒有管道輸入時,用內建的檔案遍歷生成候選列表。它篩選的是名稱,不會搜尋每個檔案的內容。
- Yazi 是用 Rust 寫的終端檔案管理器,支援檔案預覽、多標籤、跨目錄選擇、搜尋整合和批次重新命名。檔案型別識別需要
file,其他預覽要看可選工具。 - Lazygit 是 Git 的終端介面,能看 diff,也能只暫存某個 hunk 或某幾行。它會執行真正改變倉庫狀態的 Git 操作,先在可以恢復的倉庫裡練手。
第 1 步:配置 fzf 的 shell 整合
fzf 的 README 給每種 shell 一行配置:
# bash
eval "$(fzf --bash)"
# zsh
source <(fzf --zsh)
# fish
fzf --fish | source配置後有三個快捷鍵:CTRL-T 把選中的檔案和目錄粘到命令列,CTRL-R 從歷史命令裡挑一條粘到命令列,ALT-C 進入選中的目錄。先試最基本的選擇(ls | fzf,回車選中、Esc 取消),再考慮自定義觸發符。Boloop 的 fzf 頁面記錄了一條關於 Bash 自定義補全觸發符的未關閉反饋。
第 2 步:用 Yazi 開啟專案,退出時留在該目錄
輸入 yazi 啟動,按 q 退出,按 F1 或 ~ 開啟幫助。Yazi 快速上手文件建議加一個 y shell 包裝函式:退出 Yazi 時,shell 會切到你剛才瀏覽的目錄。請從官方快速上手頁面複製對應 shell 的版本,不要手打。
在 Yazi 裡,預設鍵位把 z 繫結為“透過 fzf 跳到檔案或目錄”,Z 繫結為“透過 zoxide 跳到目錄”。z 需要 fzf 0.53.0 或更新版本,zoxide 也依賴 fzf。前兩個工具就在這裡接上。
預覽依賴額外工具:JSON 用 jq,PDF 用 poppler,影片縮圖用 ffmpeg,找檔案用 fd,搜內容用 rg。圖片預覽取決於終端協議(Kitty、iTerm2、Sixel 或降級方案),請對照官方相容表檢查你用的終端。
第 3 步:用 Lazygit 檢查並暫存
用包裝函式退出 Yazi 後,shell 已經在專案目錄裡。執行 lazygit,README 裡寫的步驟是:
- 在改動的檔案上按
0,聚焦它的 diff。 - 按空格暫存當前 hunk,並跳到下一個。
- 按
a逐行選擇,按v選一段範圍。 - 按
Tab切到已暫存面板,在那裡按空格取消暫存。 - 按
c直接提交,不用離開 diff。
提交前看一眼已暫存面板。乾淨的暫存 diff 只說明改了什麼,不能證明改動能用。可以配合我們的 AI 生成程式碼驗收清單一起用。
完整流程
y開啟 Yazi,預覽檔案,按z用 fzf 跳轉。q退出,shell 停在該目錄。- 自己改程式碼,或讓編碼 agent 改。
lazygit檢查,只暫存該進這次提交的部分,然後提交。CTRL-R找回上次跑過的測試或構建命令。
我們的判斷:這個順序適合有 agent 參與的開發,因為 agent 可能一次改很多檔案,Lazygit 的按 hunk 暫存方便把它們拆成小提交。這是觀點,不是測評結果。
常見問題
三個工具必須一起裝嗎?
不用,每個都能單獨用。Yazi 的 z 跳轉需要 fzf(0.53.0 或更新);Lazygit 不依賴另外兩個。
fzf 會搜尋檔案內容嗎?
不會。fzf 只篩選它收到的行。要搜內容,Yazi 文件把 rg(ripgrep)列為可選工具。
Yazi 為什麼不顯示圖片預覽?
圖片預覽取決於終端協議,有些終端還有最低版本要求,終端複用器也會影響結果。請按 Yazi 的圖片預覽指南檢查你的環境。
能直接在正式倉庫裡試 Lazygit 嗎?
它執行的是真實的 Git 操作。先在練習倉庫或可恢復的副本里試,並檢視你所裝版本的快捷鍵說明。
本文對應哪些版本?
fzf 0.74.5、Lazygit 0.66.2、Yazi 26.9.1,核對時間為 2026 年 10 月下旬到 11 月初。快捷鍵可能隨版本變化。
來源
- fzf README:https://github.com/junegunn/fzf
- Lazygit README:https://github.com/jesseduffield/lazygit
- Yazi 安裝:https://yazi-rs.github.io/docs/installation
- Yazi 快速上手:https://yazi-rs.github.io/docs/quick-start
- Yazi 預設鍵位:https://github.com/sxyazi/yazi/blob/main/yazi-config/preset/keymap-default.toml