简介
Alacritty 是一款使用 Rust 语言编写的跨平台终端模拟器,以”最快的终端模拟器”为目标进行设计和优化。它利用 OpenGL 进行 GPU 加速渲染,在处理大量文本输出时表现尤为出色,是追求极致性能的开发者的理想选择。
Alacritty 的设计哲学是”做好一件事”——它专注于终端模拟的核心功能,不内置标签页、分屏等窗口管理功能,而是鼓励用户搭配 tmux、Zellij 等外部工具来实现这些需求。这种 Unix 哲学的设计使得 Alacritty 的代码库精简高效,启动速度极快。
Alacritty 使用 TOML 格式的配置文件(早期版本使用 YAML),所有配置通过文本文件完成,不提供 GUI 设置界面。配置文件修改后会自动热加载,无需重启终端。
安装
macOS
# 通过 Homebrew 安装
brew install --cask alacritty
# 或通过 Cargo 从源码编译
cargo install alacritty
Linux
# Ubuntu / Debian
sudo add-apt-repository ppa:aslatter/ppa -y
sudo apt update
sudo apt install alacritty
# Arch Linux
sudo pacman -S alacritty
# Fedora
sudo dnf install alacritty
# 通过 Cargo 编译(通用方法)
sudo apt install cmake pkg-config libfreetype6-dev libfontconfig1-dev libxcb-xfixes0-dev libxkbcommon-dev python3
cargo install alacritty
Windows
# 通过 Scoop 安装
scoop install alacritty
# 通过 Winget 安装
winget install Alacritty.Alacritty
# 通过 Cargo 编译
cargo install alacritty
核心特性
- GPU 加速渲染 - 基于 OpenGL 的渲染管线,文本输出速度远超传统终端模拟器
- 跨平台支持 - 原生支持 macOS、Linux、Windows 和 BSD,表现一致
- Rust 编写 - 内存安全,无垃圾回收开销,崩溃率极低
- Vi 模式 - 内置 Vi 风格的终端内容浏览模式,可用键盘选择和复制文本
- 搜索功能 - 支持正则表达式搜索终端输出内容
- 配置热加载 - 修改配置文件后自动生效,无需重启
- 提示功能(Hints) - 可识别终端中的 URL、文件路径等内容,通过键盘快速操作
- 真彩色支持 - 完整的 24-bit 真彩色支持
- 极简设计 - 不内置标签页和分屏,保持核心功能的精简与高效
- 启动速度快 - 几乎瞬间启动,无任何可感知的延迟
- 自定义键绑定 - 灵活的按键映射配置,支持复杂的修饰键组合
- IPC 控制 - 通过
alacritty msg命令在运行时动态修改配置
配置推荐
Alacritty 的配置文件位于以下路径:
- macOS:
~/.config/alacritty/alacritty.toml - Linux:
~/.config/alacritty/alacritty.toml - Windows:
%APPDATA%\alacritty\alacritty.toml
以下是一份实用的基础配置:
# ~/.config/alacritty/alacritty.toml
# 实时加载配置
live_config_reload = true
[env]
TERM = "xterm-256color"
[window]
# 窗口内边距
padding = { x = 8, y = 8 }
# 窗口装饰(macOS 可设为 "Buttonless" 获得更简洁的外观)
decorations = "Buttonless"
# 启动模式:Windowed, Maximized, Fullscreen
startup_mode = "Windowed"
# 窗口透明度(1.0 为完全不透明)
opacity = 0.95
# macOS 特有:使用系统原生标签页
option_as_alt = "Both"
[font]
size = 14.0
[font.normal]
family = "JetBrains Mono"
style = "Regular"
[font.bold]
family = "JetBrains Mono"
style = "Bold"
[font.italic]
family = "JetBrains Mono"
style = "Italic"
[scrolling]
# 回滚缓冲区行数
history = 10000
# 每次滚动行数
multiplier = 3
[selection]
# 选中内容自动复制到剪贴板
save_to_clipboard = true
# 搜索模式的按键绑定
[hints]
alphabet = "jfkdls;ahgurieowpq"
[[hints.enabled]]
command = "open"
hyperlinks = true
post_processing = true
persist = false
regex = "(ipfs:|ipns:|magnet:|mailto:|gemini://|gopher://|https://|http://|news:|file:|git://|ssh:|ftp://)[^\u0000-\u001F\u007F-\u009F<>\"\\s{-}\\^⟨⟩`]+"
[hints.enabled.binding]
key = "U"
mods = "Control|Shift"
# 自定义按键绑定
[[keyboard.bindings]]
action = "ToggleViMode"
key = "Space"
mods = "Control"
[[keyboard.bindings]]
action = "ClearHistory"
key = "K"
mods = "Command"
[[keyboard.bindings]]
action = "ResetFontSize"
key = "Key0"
mods = "Command"
提示:Alacritty 不内置分屏和标签页功能,强烈建议搭配 tmux 或 Zellij 使用。推荐组合:Alacritty + Zellij + Starship,可获得高性能、美观且功能完整的终端体验。配合
alacritty msg config命令可在运行时动态切换主题,非常适合写脚本实现日夜主题自动切换。