Ghostty 的配置主要通过配置文件进行,也可以通过命令行参数进行设置。本指南详细介绍了 Ghostty 终端的各项配置选项,帮助您根据个人喜好和需求定制终端体验。Ghostty 提供了丰富的配置项,涵盖字体、颜色、快捷键、窗口行为等多个方面,允许您对终端进行精细化调整。
Ghostty 配置文件说明
Ghostty 的配置文件使用键值对格式,例如 font-family = "Monaco"。配置文件中的路径是相对于包含 config-file 指令的文件的,命令行参数的路径是相对于当前工作目录的。配置文件可以嵌套使用,使用 config-file 配置项来加载其他配置文件。配置文件的加载顺序是它们被定义的顺序,也就是说在当前配置项后面的 config-file 会覆盖前面的设置。可以使用 ? 前缀来表示可选的配置文件,例如 ?config-file = "optional.conf",如果文件不存在,则不会报错。
Ghostty 字体配置
font-family: 设置首选字体系列。可以多次使用此配置,指定当主要字体中没有所需字符时,使用的备用字体。在 macOS 上,默认使用 Apple Color Emoji;在 Linux 上,默认使用 Noto Emoji,但您可以通过此配置覆盖此行为.font-family-bold,font-family-italic,font-family-bold-italic: 分别设置粗体、斜体和粗斜体的字体系列。如果未设置特定样式,则会搜索常规样式(font-family)的变体。如果找不到样式变体,Ghostty 会使用常规样式。font-style,font-style-bold,font-style-italic,font-style-bold-italic: 指定用于终端字体样式的命名字体样式。例如,“Iosevka Heavy”的样式为“Heavy”。 可以使用这些字段完全禁用字体样式,将配置值设置为false即可。font-synthetic-style: 控制是否合成字体样式。Ghostty 可以合成粗体、斜体和粗斜体。可以将此项设置为false或true来完全禁用或启用合成样式,也可以使用 “no-bold”, “no-italic”, 和 “no-bold-italic” 来禁用特定样式。font-feature: 应用字体特性,可以多次重复以启用多个字体特性,例如ss20或-ss20(禁用)。要禁用编程连字,请使用-calt。font-size: 设置字体大小(以磅为单位)。可以使用非整数值,Ghostty 将选择最接近的整数像素大小。font-variation,font-variation-bold,font-variation-italic,font-variation-bold-italic: 为可变字体设置字体变体值。格式为id=value,例如wght=700。font-codepoint-map: 将一个或多个 Unicode 码位映射到特定的字体名称,例如U+ABCD=fontname。font-thicken: 使用更粗的笔画绘制字体,目前仅在 macOS 上支持。
字体微调
adjust-cell-width,adjust-cell-height: 调整单元格的宽度和高度。这些值可以是整数或百分比。adjust-font-baseline: 调整文本基线与单元格底部的距离。adjust-underline-position,adjust-underline-thickness: 调整下划线的位置和粗细。adjust-strikethrough-position,adjust-strikethrough-thickness: 调整删除线的位置和粗细。adjust-overline-position,adjust-overline-thickness: 调整上划线的位置和粗细。adjust-cursor-thickness: 调整光标的粗细。adjust-cursor-height: 调整光标的高度。adjust-box-thickness: 调整框线字符的粗细.grapheme-width-method: 设置用于计算字形簇的单元格宽度的方法。可以使用unicode或legacy.freetype-load-flags: 启用 FreeType 加载标志,例如hinting,force-autohint,monochrome和autohint。
Ghostty 主题和颜色配置
theme: 设置主题。可以是内置主题名称、自定义主题名称或自定义主题文件的绝对路径。可以使用ghostty +list-themes命令查看可用主题列表。可以使用light:theme-name,dark:theme-name的语法,为浅色和深色模式指定不同的主题.background: 设置窗口背景颜色。foreground: 设置窗口前景色。selection-foreground,selection-background: 设置选中文本的前景色和背景色。selection-invert-fg-bg: 交换选中文本的单元格前景色和背景色。minimum-contrast: 设置前景色和背景色之间的最小对比度。palette: 设置 256 色调色板。格式为N=HEXCODE,其中N为 0 到 255。cursor-color: 设置光标颜色。cursor-invert-fg-bg: 交换光标下单元格的前景色和背景色。cursor-opacity: 设置光标不透明度。cursor-style: 设置光标样式,如block、bar、underline或block_hollow.cursor-style-blink: 设置光标闪烁状态。cursor-text: 设置光标下文本的颜色.
Ghostty 鼠标和剪贴板配置
cursor-click-to-move: 启用通过alt+click(Linux)或option+click(macOS)在提示符处移动光标的功能。mouse-hide-while-typing: 在输入时隐藏鼠标。mouse-shift-capture: 确定是否捕获鼠标点击的Shift 键.mouse-scroll-multiplier: 设置鼠标滚轮滚动距离的乘数。clipboard-read: 控制是否允许从系统剪贴板读取内容,可以选择ask,allow, 或deny.clipboard-write: 控制是否允许向系统剪贴板写入内容,可以选择ask,allow, 或deny.clipboard-trim-trailing-spaces: 裁剪复制到剪贴板的数据的尾随空格.clipboard-paste-protection: 启用粘贴保护,防止粘贴不安全文本.clipboard-paste-bracketed-safe: 设置带括号的粘贴是否被认为是安全的。copy-on-select: 设置是否在选择文本时自动复制到剪贴板.click-repeat-interval: 设置重复点击的时间间隔.
Ghostty 窗口和界面配置
background-opacity: 设置背景不透明度。background-blur-radius: 设置背景模糊半径,仅在 macOS 上支持。unfocused-split-opacity: 设置未聚焦分割窗格的不透明度。unfocused-split-fill: 设置未聚焦分割窗格的颜色。window-padding-x: 设置窗口水平内边距。window-padding-y: 设置窗口垂直内边距。window-padding-balance: 平衡窗口多余的内边距。window-padding-color: 设置窗口内边距颜色.window-vsync: 启用垂直同步,仅在 macOS 上支持。window-inherit-working-directory: 新窗口和标签是否继承工作目录。window-inherit-font-size: 新窗口和标签是否继承字体大小。window-decoration: 启用或禁用窗口装饰(标题栏和边框)。window-title-font-family: 设置窗口标题和标签使用的字体.window-theme: 设置窗口主题,例如auto,system,light,dark, 或ghostty.window-colorspace: 设置窗口颜色空间, 例如srgb或display-p3.window-width,window-height: 设置初始窗口大小(以单元格为单位)。window-save-state: 设置是否保存和恢复窗口状态, 可以选择default,never或always。window-step-resize: 以单元格大小为增量调整窗口大小, 仅在 macOS 上支持。window-new-tab-position: 设置新标签的创建位置, 可以是current或end.resize-overlay: 设置调整大小覆盖层的显示方式,例如always,never或after-first.resize-overlay-position: 设置调整大小覆盖层的位置.resize-overlay-duration: 设置调整大小覆盖层的持续时间.focus-follows-mouse: 设置窗口焦点是否跟随鼠标.confirm-close-surface: 关闭标签页/窗口前是否需要确认.quit-after-last-window-closed: 在最后一个窗口关闭后是否退出 Ghostty.quit-after-last-window-closed-delay: 设置在最后一个窗口关闭后,Ghostty 保持运行的时间.initial-window: 是否在启动时创建初始窗口.quick-terminal-position: 设置快速终端窗口的位置, 例如top,bottom,left,right或center.quick-terminal-screen: 设置快速终端窗口出现的屏幕, 例如main,mouse, 或macos-menu-bar.quick-terminal-animation-duration: 设置快速终端的进入和退出动画持续时间。quick-terminal-autohide: 设置快速终端在失去焦点时是否自动隐藏.
Ghostty 终端行为配置
command: 设置要运行的命令,通常是 shell。initial-command: 设置初始终端启动时运行的命令。wait-after-command: 设置在命令退出后是否保持终端打开。abnormal-command-exit-runtime: 设置进程异常退出的最短运行时。scrollback-limit: 设置回滚缓冲区大小(以字节为单位)。link-url: 启用或禁用 URL 匹配.fullscreen: 设置是否以全屏模式启动新窗口.title: 设置窗口标题.class: 设置应用程序类的值.x11-instance-name: 设置在 X11 下运行时的 X11 实例名称.working-directory: 设置启动命令后更改的目录.enquiry-response: 设置接收到ENQ(0x05) 时发送的响应字符串.term: 设置 TERM 环境变量.
Ghostty 快捷键配置
keybind: 设置快捷键绑定。格式为trigger=action。可以使用ghostty +list-actions命令查看可用操作列表。- 触发器(trigger) 可以是
+分隔的键和修饰符列表,例如ctrl+a或ctrl+shift+b。 - 可以使用
physical:前缀来指定物理按键映射,例如ctrl+physical:a. - 可以使用
>分隔的多个触发器来定义组合快捷键,例如ctrl+a>n. all:前缀将快捷键应用于所有终端.global:前缀使快捷键在系统全局生效(仅限 macOS).unconsumed:前缀使快捷键不消耗输入.action是要执行的操作,例如new_window、copy_to_clipboard或csi:A。
- 触发器(trigger) 可以是
相关阅读:Ghostty 终端默认快捷键列表
Ghostty 其他设置
config-file: 指定要读取的其他配置文件,可以重复使用.config-default-files: 控制是否加载默认配置文件路径.auto-update: 设置自动更新功能,例如off、check或download.auto-update-channel: 设置自动更新通道,例如stable或tip.shell-integration: 设置是否启用shell 集成,可以选择none、detect、bash、elvish、fish或zsh.shell-integration-features: 设置要启用的shell 集成功能,例如cursor,sudo和title.osc-color-report-format: 设置 OSC 颜色报告格式,可以选择none,8-bit, 或16-bit.vt-kam-allowed: 设置是否允许使用 KAM 模式.custom-shader: 设置要运行的自定义着色器的文件路径,可以重复使用.custom-shader-animation: 设置是否在使用自定义着色器时运行动画循环.macos-non-native-fullscreen: 设置 macOS 是否使用非原生全屏模式,可以选择visible-menu,true或false.macos-titlebar-style: 设置 macOS 标题栏样式,例如native,transparent,tabs或hidden.macos-titlebar-proxy-icon: 设置 macOS 标题栏中的代理图标是否可见,可以选择visible或hidden.macos-option-as-alt: 设置 macOS 的 Option 键是否作为 Alt 键处理.macos-window-shadow: 设置是否启用 macOS 窗口阴影.macos-auto-secure-input: 设置是否自动启用安全输入.macos-secure-input-indication: 设置是否显示安全输入指示.macos-icon: 设置 macOS 应用图标,例如official或custom-style.macos-icon-frame: 设置 macOS 应用图标的框架材质, 例如aluminum,beige,plastic, 或chrome.macos-icon-ghost-color: 设置 macOS 应用图标中幽灵的颜色.macos-icon-screen-color: 设置 macOS 应用图标中屏幕的颜色.linux-cgroup: 设置是否将每个终端界面放入一个专用的 Linux cgroup,可以选择never、always或single-instance.linux-cgroup-memory-limit: 设置单个终端进程的内存限制.linux-cgroup-processes-limit: 设置单个终端进程的进程数限制.linux-cgroup-hard-fail: 设置 cgroup 初始化失败是否会导致 Ghostty 退出.gtk-single-instance: 设置 GTK 应用是否以单实例模式运行.gtk-titlebar: 设置是否显示完整的 GTK 标题栏.gtk-tabs-location: 设置 GTK 标签栏的位置.adw-toolbar-style: 设置 Adwaita 标签栏工具栏的样式, 例如flat,raised或raised-border.gtk-wide-tabs: 设置 GTK 标签是否为宽标签.gtk-adwaita: 设置是否启用 Adwaita 主题支持.desktop-notifications: 设置是否允许终端应用程序显示桌面通知.bold-is-bright: 设置粗体文本是否使用亮色调色板.
结语
请注意,一些配置项仅在特定的操作系统或构建版本上有效。在修改配置文件后,通常需要重启 Ghostty 才能使更改生效,或者至少需要打开新的终端窗口或标签页。
希望这份配置指南对您有所帮助!
