Skip to content
Go back

Ghostty + Yazi 现代终端配置指南

Updated:
Edit page

Forrest Gump Fake Quote

Table of contents

Open Table of contents

工具介绍

本文介绍两个现代终端工具的配置与使用:

配合 Zoxide(智能目录跳转)和 Oh-My-Zsh 可以组成一套高效的终端工作流。

安装

# Ghostty
brew install ghostty

# Yazi 及预览依赖
brew install yazi ffmpegthumbnailer poppler

# Zoxide
brew install zoxide

# Oh-My-Zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

# Zsh 插件
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

字体推荐使用 Maple Mono NF CN,支持中文和 Nerd Font 图标。

Ghostty 配置

配置文件位置:~/.config/ghostty/config

# 字体
font-family = "Maple Mono NF CN"
font-size = 15
font-thicken = true
adjust-cell-height = 6

# 主题
theme = Kanagawa Wave

# 窗口
background-opacity = 1
macos-titlebar-style = transparent
window-padding-x = 14
window-padding-y = 10

# 光标
cursor-style = bar
cursor-style-blink = true

# 鼠标
mouse-hide-while-typing = true
copy-on-select = clipboard

# Quake 下拉终端
quick-terminal-position = top
quick-terminal-screen = mouse
quick-terminal-autohide = true
quick-terminal-animation-duration = 0.15
keybind = global:ctrl+grave_accent=toggle_quick_terminal

# 性能
scrollback-limit = 25000000

Ghostty 快捷键

以下基于 Ghostty 1.3.1 的默认键位(用 ghostty +list-keybinds --default 可自查),Cmd 对应配置里的 super

标签页 & 窗口

快捷键功能
Cmd + T新建标签页
Cmd + N新建窗口
Cmd + W关闭当前分屏 / 面板
Cmd + Option + W关闭当前标签页
Cmd + Shift + W关闭当前窗口
Cmd + Shift + T撤销关闭(重开刚关掉的标签页 / 分屏)
Cmd + 1~8跳到第 1~8 个标签页
Cmd + 9跳到最后一个标签页(不是第 9 个)
Cmd + Shift + [ / ]上一个 / 下一个标签页
Cmd + Enter切换全屏

macOS 上标签页是系统原生标签栏,外观与行为跟 Safari、Finder 一致,支持拖拽重排。

分屏

快捷键功能
Cmd + D向右分屏
Cmd + Shift + D向下分屏
Cmd + [ / ]上一个 / 下一个分屏(循环切焦点)
Cmd + Option + ←→↑↓按方向切换分屏焦点
Cmd + Ctrl + ←→↑↓调整分屏大小
Cmd + Ctrl + =均等化所有分屏
Cmd + Shift + Enter分屏缩放(最大化 / 还原,相当于 tmux 的 prefix + z)

⚠️ 切标签页和切分屏的区别,关键在 ShiftCmd + Shift + [ ]标签页,去掉 Shift 的 Cmd + [ ]分屏焦点——两者都在 [ ] 键上,靠 Shift 区分(不是花括号与方括号之分)。

搜索 & 滚动历史

快捷键功能
Cmd + F在 scrollback 里搜索(1.3 新增原生搜索)
Cmd + G / Cmd + Shift + G跳到下一个 / 上一个匹配
Cmd + E以当前选中内容为关键词搜索
Esc / Cmd + Shift + F退出搜索
Cmd + ↑ / 跳到上一个 / 下一个命令提示符(需 shell 集成)
Cmd + Home / End滚到顶部 / 底部
Cmd + PageUp / PageDown上翻 / 下翻一页

剪贴板 & 字体

快捷键功能
Cmd + C / Cmd + V复制 / 粘贴
Cmd + Shift + V粘贴上次选中的内容(selection)
Cmd + A全选
Cmd + K清屏
Cmd + + / Cmd + - / Cmd + 0增大 / 缩小 / 重置字体

配置 & CLI

快捷键功能
Cmd + ,打开配置文件
Cmd + Shift + ,重载配置(改完即时生效,无需重启)
Cmd + Shift + P命令面板(搜索所有动作并顺带看其快捷键)
Cmd + Option + I终端 Inspector(调试渲染 / 按键)

1.3 版本的几个更新

keybind = cmd+shift+|=new_split:right
keybind = cmd+shift+-=new_split:down

Quake 下拉终端

这是 Ghostty 最实用的功能之一。按下全局快捷键 Ctrl + `` “(反引号,数字 1 左边的键),无论当前在哪个应用,都会从屏幕顶部滑出一个终端窗口;再按一次收起。

Yazi 文件管理器

启动方式

推荐在 ~/.zshrc 中添加 y 包装函数:

function y() {
    local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" cwd
    yazi "$@" --cwd-file="$tmp"
    if cwd="$(command cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
        builtin cd -- "$cwd"
    fi
    rm -f -- "$tmp"
}

y 启动而非直接用 yazi,退出后 Shell 会自动跳转到 Yazi 中最后所在的目录。

退出

按键效果
q退出,Shell 跟随跳转到 Yazi 最后所在目录
Q退出,Shell 保持原目录不变

目录快速跳转

~/.config/yazi/keymap.toml 中配置常用目录的快捷键:

[[manager.prepend_keymap]]
on = ["g", "h"]
run = "cd ~"
desc = "Go to home directory"

[[manager.prepend_keymap]]
on = ["g", "c"]
run = "cd ~/.config"
desc = "Go to config directory"

[[manager.prepend_keymap]]
on = ["g", "d"]
run = "cd ~/Downloads"
desc = "Go to downloads"

[[manager.prepend_keymap]]
on = ["g", "w"]
run = "cd ~/work"
desc = "Go to work directory"

[[manager.prepend_keymap]]
on = ["g", "D"]
run = "cd ~/Desktop"
desc = "Go to desktop"
快捷键跳转目标
g h~ 家目录
g c~/.config
g d~/Downloads
g w~/work
g D~/Desktop
g t/tmp

Zoxide 智能跳转

Zoxide 记录你的访问历史,输入目录名的一部分即可跳转:

# 替代 cd,模糊匹配历史记录中包含 "work" 的目录
z work

# 交互式选择(需要安装 fzf)
zi work

~/.zshrc 末尾添加初始化:

eval "$(zoxide init zsh)"

配置文件汇总

文件用途
~/.config/ghostty/configGhostty 主配置
~/.config/yazi/yazi.tomlYazi 主配置
~/.config/yazi/keymap.tomlYazi 快捷键
~/.config/yazi/theme.tomlYazi 主题
~/.zshrcShell 配置

修改 Ghostty 配置后按 Cmd + Shift + , 即时重载,无需重启。


Edit page
Share this post on:

Previous Post
量化交易探索-基础知识(三)
Next Post
量化交易探索-系列文章汇总与导航