Skip to content

McFly

智慧型 Shell 歷史搜尋

軟體分類 生產力 / 開發工具
軟體標籤
KVMCMSAutomation toolsPassbolt
開發廠商 Andrew Cantino
Stars
7.6k
Forks
193
License
MIT
Version
v0.9.3
Update
2026-02-25
OS

產品說明

McFly 是一款以 Rust 打造的 Shell 歷史搜尋工具,旨在取代傳統 Shell(如 Bash、Zsh、Fish)中單調的 Ctrl+R 反向搜尋功能。它的命名致敬了經典電影《回到未來》的主角 Marty McFly,象徵著帶你更精準地穿梭於過去的指令歷史中。

與傳統搜尋不同,McFly 內建了一個輕量級的類神經網路 (Neural Network) 引擎。它不僅僅是比對關鍵字,還會根據你當下的「上下文」來即時排序建議結果。這意味著,McFly 知道你在哪個目錄下工作、最近執行了什麼指令,以及你過往的使用習慣,從而精準預測你現在最想執行的指令。

核心特色:

  • 上下文感知:搜尋結果會依據「當前目錄」、「執行頻率」、「最後執行時間」以及「指令執行後的退出狀態(是否成功)」進行加權排序。
  • 智慧排序:透過即時運算的微型神經網絡,將最相關的指令推送到清單頂端,而非僅顯示最近一次的紀錄。
  • 全螢幕介面:提供清晰、現代化的 UI 介面,不再是單行顯示,讓你更容易瀏覽與選擇歷史指令。
  • Fuzzy Search:支援模糊搜尋,即使記不清完整指令或參數,也能輕鬆找到目標。
  • Unicode 支援:完美支援各種字元編碼,包含中文指令或特殊符號。

安裝指南

McFly 支援跨平台安裝,且對主流 Shell(Bash, Zsh, Fish, PowerShell)皆有良好支援。

macOS / Linux (Homebrew)

brew install mcfly

Linux (使用 Cargo, 需安裝 Rust 環境)

cargo install mcfly

Linux (安裝腳本)

# 下載並執行官方安裝腳本
curl -LSfs [https://raw.githubusercontent.com/cantino/mcfly/master/ci/install.sh](https://raw.githubusercontent.com/cantino/mcfly/master/ci/install.sh) | sh -s -- --git cantino/mcfly

Windows (Winget)

winget install cantino.mcfly

⚠️ 關鍵步驟:Shell 整合
安裝軟體後,你必須在你的 Shell 設定檔(如 .bashrc, .zshrc, config.fish)末端加入初始化指令,才能接管 Ctrl+R

  • Bash: eval "$(mcfly init bash)"
  • Zsh: eval "$(mcfly init zsh)"
  • Fish: mcfly init fish | source
  • PowerShell: Invoke-Expression -Command $(mcfly init powershell | Out-String)

設定完成後,請重新啟動終端機或 source 設定檔。

使用教學

一旦設定完成,McFly 就會無縫接管你的 Ctrl+R 快捷鍵。

1. 基礎操作

  • 啟動搜尋:在終端機中按下 Ctrl + R
  • 瀏覽歷史
    • McFly 介面會彈出,佔據下方版面。
    • 使用 / 鍵(或 Ctrl+N / Ctrl+P)在建議清單中移動。
  • 執行指令:選定目標後,按下 Enter 即可立即執行該指令。
  • 編輯指令:若想修改指令參數(例如更換檔名),按下 Tab 鍵,指令會填入目前的命令列(Prompt),讓你進行編輯後再執行。

2. 刪除歷史紀錄

  • 如果在搜尋結果中看到不想保留的敏感指令(如包含密碼的指令),選取該行後按下 F2 即可從 McFly 資料庫與 Shell 歷史檔中永久刪除。

3. 自我學習與訓練

McFly 雖然開箱即用,但它也支援手動訓練模式來優化神經網路的權重(通常不需要頻繁執行,因為它會自動學習)。

  • 手動觸發訓練
    mcfly train
    

這會讓 McFly 根據你最近的操作歷史,重新調整其推薦演算法的權重,讓建議更貼合你最新的工作流。

小撇步:你會發現,當你在不同專案目錄下按下 Ctrl+R 時,McFly 推薦的內容會截然不同,這就是它「上下文感知」的強大之處!