颜值即正义

是时候和 iTerm2 说再见了

2024-12-28

在 macOS 中 iTerm2 曾经是我最常用的终端工具,每次系统更换设备或者重装系统,安装 Homebrew 后,第一时间安装的就是它。但无论是速度,还是配置的自由度都不是很完美,一直想找一个替代品。

期间断断续续也试过一些其他终端工具,但都有一些不尽人意的地方,直到 [[Ghostty]] 的出现,官网是这样介绍的:

Ghostty is a fast, feature-rich, and cross-platform terminal emulator that uses platform-native UI and GPU acceleration. Ghostty 是一款快速、功能丰富、跨平台的终端模拟器,使用平台原生 UI 和 GPU 加速。

它不仅开箱就提供了和我 [[iTerm2]] 配置后的类似体验,而且配置时无须繁琐的一层层点开修改,直接编辑文件即可。

安装

[[macOS]] 用户来讲,可以直接通过 [[Homebrew]] 安装最方便:

Terminal window
1
brew install --cask ghostty

其他平台安装方式可以参考官网。

配置

Ghostty 个人最喜欢的地方是可以直接通过文件的方式自定义配置,这意味着无论是修改还是备份都非常方便。在 macOS 中配置文件位于 $HOME/Library/Application\ Support/com.mitchellh.ghostty/config,但建议使用 $HOME/.config/ghostty/config 作为配置文件,这样便于后续备份。

~/.config/ghostty/config
1
# 终端
2
shell-integration = zsh
3
copy-on-select = true
4
5
# 样式
6
background = 131415
7
background-opacity = 0.8
8
background-blur-radius = 20
9
window-colorspace = display-p3
10
11
# 隐藏标题 (仅 macOS)
12
macos-titlebar-style = hidden
13
14
# 字体
15
font-family = Monaco
16
font-thicken = true
17
18
# 鼠标
19
mouse-hide-while-typing = true
20
21
# 下拉终端设置
22
quick-terminal-position = top
23
quick-terminal-screen = main
24
quick-terminal-autohide = true
25
keybind = global:super+opt+`=toggle_quick_terminal
  • macos-titlebar-style(仅 macOS)
    • native: 原生
    • transparent: 原生透明标题栏(默认)
    • hidden: 隐藏标题栏
    • tabs: 在标题栏中显示标签
  • mouse-hide-while-typing: 输入时是否隐藏鼠标
  • quick-terminal-position: 下拉终端位置
    • top: 顶部(默认)
    • bottom: 底部
    • left: 左侧
    • right: 右侧
    • center: 居中
  • quick-terminal-screen: 下拉终端显示的屏幕
    • main: 主屏幕(默认)
    • mouse: 鼠标所在屏幕
    • macos-menu-bar: 菜单栏所在屏幕
  • quick-terminal-autohide: 下拉终端是否自动隐藏
  • copy-on-select: 选中后自动复制

ghostty

可配置介绍可以查看官方 Configuration,如果希望有图形化配置界面,可以使用 Ghostty Config

对了,在终端中按 ⌘ + , 打开配置文件,按 ⌘ + Shift + , 重载配置。

备份

因为 Ghostty 的配置文件同样位于 ~/.config 中,如果之前有使用 [[ln]].config 链接到 dotfiles 目录中,不需要做任何改变就能实现配置的备份或同步。

最后

当然 Ghostty 目前也并非完美,比如提供的终端命令都带有加号(稍显繁琐)、配置编辑后不支持自动重新加载,还有就是下拉式终端隐藏后,如果当前焦点非终端,需要多按快捷键一次才行。

但是 Ghostty 目前还处于早期开发阶段,相信随着版本迭代,这些问题都会得到解决和优化。

PS:当初也尝试过 Alacritty,但无奈图标真的不在我的审美线,安装后直接卸载了。