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 才能使更改生效,或者至少需要打开新的终端窗口或标签页。
希望这份配置指南对您有所帮助!