news 2026/6/25 14:00:08

Ghostty + Fish + Starship + fzf + zoxide + Raycast

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ghostty + Fish + Starship + fzf + zoxide + Raycast

概述

这是一套面向 macOS 开发者的终端方案,核心理念是开箱即用、高颜值、高效率。六个工具各司其职,十分钟内完成安装配置,无需手写复杂配置文件。

工具链

工具角色核心亮点
Ghostty终端模拟器GPU 加速渲染、内置 100+ 主题、零配置启动
FishShell语法高亮、自动补全、历史建议全开箱自带
Starship提示符跨平台兼容,一行命令预设主题
fzf模糊查找器命令历史/文件/目录即时模糊匹配
zoxide智能目录跳转学习访问习惯,关键词秒跳目录
Raycast效率启动器取代 Spotlight,统一开发者工作流入口

二、前置条件

  • macOS 系统
  • 已安装 Homebrew
# 如未安装 Homebrew /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" # 验证 brew --version

三、安装步骤

1. 安装 Nerd Font

必须先装字体。Starship 和 fzf 依赖特殊图标字符(Git 分支符号、文件夹图标、箭头分隔符等),普通字体无法显示,会变成乱码方块。

brew install font-meslo-lg-nerd-font

验证安装:

system_profiler SPFontsDataType | grep -i "meslo"

看到MesloLGS NF即表示成功。也可在 Font Book(字体册)中搜索Meslo确认。


2. 安装 Ghostty

brew install --cask ghostty
2.1 预览内置主题
ghostty +list-themes

Escq退出预览。

2.2 创建配置文件

配置文件路径:~/Library/Application Support/com.mitchellh.ghostty/ghostty.config

mkdir -p ~/Library/Application\ Support/com.mitchellh.ghostty vim ~/Library/Application\ Support/com.mitchellh.ghostty/config.ghostty theme = "tokyonight" font-family = "MesloLGS NF" font-size = 14 font-thicken = true background-opacity = 0.95 background-blur = true window-padding-x = 10 window-padding-y = 5 keybind = cmd+alt+right=next_tab keybind = cmd+alt+left=previous_tab

配置完成后Cmd + Q 退出 Ghostty,重新打开使配置生效。

2.3 分屏快捷键
快捷键功能
Cmd + D竖直分割
Cmd + Shift + D水平分割
Cmd + Option + 方向键切换焦点窗格
输入exitCtrl + D关闭当前窗格

3. 安装 Fish Shell

brew install fish
3.1 设为默认 Shell
# 确认安装路径 which fish # 加入系统合法 Shell 列表 echo /opt/homebrew/bin/fish | sudo tee -a /etc/shells # 设为默认 chsh -s /opt/homebrew/bin/fish

Cmd + Q 退出终端,重新打开。验证:

echo $SHELL # 输出 /opt/homebrew/bin/fish
3.2 Fish 核心特性

Fish 三大核心功能均为原生自带,无需安装任何插件:

  • 语法高亮:输入命令时自动对命令、参数、字符串进行着色
  • 自动建议:基于历史记录给出灰色建议文本,按键接受
  • 智能补全:Tab 补全带文字描述,信息量远超 Bash/Zsh

4. 安装 Starship

brew install starship
4.1 一键生成预设主题
mkdir -p ~/.config starship preset tokyo-night -o ~/.config/starship.toml

命令无输出但已自动生成配置文件。可查看:

cat ~/.config/starship.toml

可选预设主题还包括:gruvbox-rainbowcatppuccin-powerlinepastel-powerline等。

4.2 创建 Fish 配置并加载 Starship
vim ~/.config/fish/config.fish if status is-interactive set -U fish_greeting starship init fish | source end

if status is-interactive是 Fish 推荐的结构,确保仅交互式会话加载配置,脚本执行时跳过以节省资源。

加载配置:

source ~/.config/fish/config.fish

提示符即刻生效。Starship 会自动显示:当前目录、Git 分支、编程语言版本(Node/Python/Go 等)、命令执行状态等信息。


5. 安装 fzf

brew install fzf
5.1 运行安装脚本
/opt/homebrew/opt/fzf/install

所有询问选y

5.2 处理路径问题(如需要)
# 确认安装 which fzf fzf --version
5.3 追加 fzf 配置
open -t ~/.config/fish/config.fish

starship init fish | sourceend之间添加:

# fzf fzf --fish | source set -gx FZF_CTRL_T_OPTS "--walker-skip .git,node_modules,target"

保存后加载:

source ~/.config/fish/config.fish
5.4 快捷键说明

Mac 键盘上Alt键即Option (⌥)Ctrl键即Control (⌃),不要与Cmd (⌘)混淆。

快捷键功能
Ctrl + R模糊搜索命令历史
Ctrl + T模糊搜索当前目录文件
Alt + C模糊搜索并跳转目录

6. 安装 zoxide

brew install zoxide
6.1 追加配置
open -t ~/.config/fish/config.fish

在 fzf 配置下方添加:

# zoxide zoxide init fish | source

保存后加载:

source ~/.config/fish/config.fish
6.2 使用方法
z keyword # 跳转到历史访问过的最佳匹配目录 z keyword1 keyword2 # 匹配包含两个关键词的目录 zi # 交互式模糊选择(需 fzf 支持) z - # 返回上一个目录

zoxide 在后台自动记录访问路径和频率,无需手动维护。


7. 追加别名

open -t ~/.config/fish/config.fish

在 zoxide 配置下方、end之前添加:

# 别名 alias ll "ls -lh" alias la "ls -lAh" end

四、最终配置文件

Ghostty 配置

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/25 13:59:48

手语语料征集与管理系统

背景 手语作为聋人群体最自然、最核心的沟通方式,是其获取信息、参与社会、实现文化传承与身份认同的关键载体。然而,在全球范围内,手语资源的数字化、标准化与系统化管理长期面临严峻挑战,这直接制约了手语语言学研究的深度、手语…

作者头像 李华
网站建设 2026/6/25 13:58:55

【基础算法精讲 11】验证二叉搜索树

98. 验证二叉搜索树 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下: 节点的左子树只包含 严格小于 当前节点的数。节点的右子树只包含 严格大于 当前节点的数。所有左子树和右子树自身必须也是二叉搜索树…

作者头像 李华
网站建设 2026/6/25 13:57:15

PyTorch模型iPhone端侧部署实战:TorchScript转Core ML全链路

1. 项目概述:让Python训练的模型真正在iPhone上跑起来,不是演示,是实打实推理“Deploy a Python Machine Learning Model on your iPhone”——这个标题乍看像一句技术口号,但背后藏着一个被大量开发者低估、反复踩坑、又极少被系…

作者头像 李华
网站建设 2026/6/25 13:51:53

为什么 React 和 Vue 不一样?

为什么两种架构走向了不同的道路 1.1 UI 的本质是什么 要理解 React Fiber 和 Vue 响应式系统为何走向截然不同的架构路径,我们必须回到一个更根本的问题:用户界面的本质是什么。React 团队给出的答案是——UI 是状态的函数(UI f(state)&am…

作者头像 李华
网站建设 2026/6/25 13:49:38

【ESP32S3 + ATGM332D GPS模块实战:从NMEA解析到本地速度计算】

【ESP32S3 ATGM332D GPS模块实战:从NMEA解析到本地速度计算】项目概述一、硬件准备1.1 核心部件1.2 硬件连接二、软件配置2.1 PlatformIO环境配置2.2 核心库介绍三、代码实现3.1 完整代码3.2 关键技术解析3.2.1 NMEA数据解析3.2.2 本地墨卡托投影(ENU坐…

作者头像 李华