乐于分享
好东西不私藏

Ghostty–命令行终端使用的神器(二)

Ghostty–命令行终端使用的神器(二)

新手学习 AI应用 相关知识,更新技能与时代为舞,希望能一起入门不断进步 [碱基比特]

3. 设置

Ghostty 支持数百种配置选项,可使其外观和行为完全符合您的预期

3.1 开箱即用的哲学

Ghostty 的设计理念是让大多数用户无需任何配置即可开箱即用,你不设置打开就是最基础的终端软件,小巧快速,Ghostty 拥有合理的默认设置,内置默认字体(JetBrains Mono),还内置了一些极客字体等等

3.2 配置格式

Ghostty 使用基于文本的配置文件进行配置,所有的配置都是一个配置文件

  1. 配置文件位置

配置文件名为 config.ghostty,不同的系统在不同的位置,macOS可以在设置中直接找到Setting

macOS文件的位置还比较特殊

  • $HOME/Library/Application\ Support/com.mitchellh.ghostty/config.ghostty
  • $HOME/Library/Application\ Support/com.mitchellh.ghostty/config
  1. 配置语法

Ghostty 使用了一种自定义的、但非常简单的键值对语法key = value。下面的示例配置文件中使用注释对该语法进行了说明

# The syntax is "key = value". The whitespace around the
# equals doesn't matter.
background = 282c34
foreground = ffffff

# Comments start with a `#` and are only valid on their own line.
# Blank lines are ignored!

keybind = ctrl+z=close_surface
keybind = ctrl+d=new_split:right

# Empty values reset the configuration to the default value
font-family =

  • 按键区分大小写。background 和 Background 并不相同,Ghostty 始终使用小写字母
  • key=value空格不影响
  • #用来注释
  • 空值会将配置重置为默认值 font-family =
  • 值可以加引号,也可以不加引号。font-family = "JetBrains Mono" 与 font-family = JetBrains Mono 相同
  1. 配置拆分多个文件

可以通过在配置文件中设置 config-file 键,将你的 Ghostty 配置拆分到多个文件中

这是一种模块化的管理方式,类似于编程中的 import 或 include

  • 在你的主配置文件(通常是 ~/.config/ghostty/config)中,添加一行 config-file = <路径>
  • Ghostty 读到这一行时,会暂停读取当前文件,转而去读取并加载指定的那个文件
  • 加载完成后,继续读取主文件的下一行

你可以写多行的config-file,引入多个不同的配置文件

  • 一个文件放快捷键
  • 一个专门放颜色
  • 一个专门放特定终端的设置

防止死循环

如果值以问号 (?) 开头,则该文件为可选文件;如果该文件不存在,则会被忽略。这对于平台或机器特定的配置文件尤其有用

config-file = some/relative/sub/config
config-file = ?optional/config
config-file = /absolute/path/config

4. 参考设置

这是 Ghostty 所有配置选项的参考指南。这些选项大致按使用频率排序,并按相关选项分组。

后续Ghostty官方将出来一些比较方便查看设置的功能

4.1 Language

将 Ghostty 的图形用户界面语言设置为系统默认语言以外的语言,语言设置只是影响图形用户界面,不影响终端本身

language = de

4.2 字体设置

  • font-family
  • font-family-bold
  • font-family-italic
  • font-family-bold-italic

你也可以使用ghostty +list-fonts在终端,来查看Ghostty自带的字体

多次重复书写字体配置项(或者在一个配置项中列出多个字体),来定义一个优先级列表,只有当主字体中找不到某个特定的字符(codepoint)时,终端才会去下一个备用字体里找。

Ghostty 在处理字体样式(粗体、斜体、粗斜体)时的智能回退机制。它的核心目的是:优先保证“样式”正确,而不是为了找样式而随便换一个“字体家族”,从而导致排版错乱。你不需要专门为粗体(bold)、斜体(italic)或粗斜体(bold italic)单独配置字体文件

  • 如果你只设置了 font-family = “MyFont”,Ghostty 会自动去 “MyFont” 这个字体家族里寻找对应的粗体或斜体变体。
  • 在的很多字体文件(尤其是 Variable Fonts 可变字体)在一个文件中就包含了所有样式,或者操作系统能自动关联同一家族下的不同文件

Ghostty 字体处理的最后一个环节:合成样式(Synthesized Styles)

配置项 (Key)
类型
默认行为
功能描述
常用示例值
基础设置
font-family
String
系统默认等宽字体
主字体家族。可设置多个,用逗号分隔作为备用链。
"JetBrains Mono", "Noto Sans CJK"
font-size
Integer
依系统而定
字体大小(点数)。
14

16
font-feature
String
启用特定的 OpenType 字体特性(如连字)。可重复设置。
calt

ligass01
样式字体指定
(可选,通常无需设置)
font-family-bold
String
自动从主家族查找
显式指定粗体使用的字体家族。
"Fira Code Bold"
font-family-italic
String
自动从主家族查找
显式指定斜体使用的字体家族。
"Fira Code Italic"
font-family-bold-italic
String
自动从主家族查找
显式指定粗斜体使用的字体家族。
"Fira Code Bold Italic"
样式映射与控制
(高级控制)
font-style-bold
String / Boolean
自动匹配 (如 “Bold”)
1. 字符串: 指定字体内部样式名 (如 “Heavy”)。
2. false: 禁用粗体,回退到常规体。
"Heavy"

false
font-style-italic
String / Boolean
自动匹配 (如 “Italic”)
1. 字符串: 指定字体内部样式名 (如 “Oblique”)。
2. false: 禁用斜体,回退到常规体。
"Oblique"

false
font-style-bold-italic
String / Boolean
自动匹配
同上,针对粗斜体。
"Heavy Oblique"

false
合成控制
(Synthesis)
font-synthetic-style
String / Boolean
Enabled (自动合成)
控制是否允许算法合成缺失的样式。
– true: 允许所有合成。
– false: 禁用所有合成。
– 逗号分隔: 禁用特定合成 (如 no-bold,no-italic)。
false

no-italic
性能与微调
adjust-icon-height
Percentage
0%
调整图标(如 Nerd Fonts)的高度比例,优化对齐。
-10%

5%

4.3 Adjust 调整功能

配置项 (Key)
类型
默认值
功能描述
常用示例
字体与单元格微调
adjust-font-baseline
Percentage / Pixels
0
调整字体基线位置。向上或向下移动字体,解决字体“悬浮”或“下沉”的问题。
2%

-1px
adjust-cell-width
Percentage / Pixels
0
调整单元格宽度。微调每个字符格的宽度,解决字符间距过紧或过宽的问题。
1px

-2%
adjust-cell-height
Percentage / Pixels
0
调整单元格高度。微调行高,解决多行文本行间距过大或过小的问题。
5%

2px
图标微调 (Nerd Fonts)
adjust-icon-height
Percentage
0
调整图标高度比例。专门用于缩放 Nerd Fonts 中的图标,使其与文字高度更协调。
-10%

5%
adjust-icon-baseline
Percentage / Pixels
0
调整图标基线。专门移动图标的垂直位置,解决图标与文字不对齐的问题。
3%

-2px
光标微调
adjust-cursor-thickness
Pixels / Percentage
自动
调整光标粗细。覆盖默认的光标厚度。
2px

10%
adjust-cursor-height
Percentage
100%
调整光标高度。主要用于下划线(underline)或条形(bar)光标,控制其高度占比。
80%

50%
其他合成调整
font-thicken-strength
Float
0.5
调整人工加粗强度。当字体无粗体且开启合成时,控制加粗的像素力度。
0.3

0.8

4.4 主题设置

  1. 主题选择

要使用的主题。这可以是内置主题名称、自定义主题名称,也可以是自定义主题文件的绝对路径。Ghostty 还支持为浅色模式和深色模式指定不同的主题。

第一个目录是 Ghostty 配置目录下的 themes 子目录。它是 $XDG_CONFIG_HOME/ghostty/themes 或 ~/.config/ghostty/themes

使用命令来看所有的主题ghostty +list-themes

主题文件本质上就是另一个 Ghostty 配置文件。它们语法相同,配置选项也相同。主题可以设置任何有效的配置选项,因此请勿使用来自不可信来源的主题文件。内置主题经过审核,仅设置安全的配置选项。

就是在Settings文件中,加入theme = Aizen Light,然后重新载入就可以成功应用了

通过背景色、前景色、调色板等指定的任何其他颜色都将覆盖主题中指定的颜色

要为浅色模式和深色模式指定不同的主题,请使用以下语法:light:主题名称,dark:主题名称。例如:light:Rose Pine Dawn,dark:Rose Pine

配置项 (Key)
类型
默认值
功能描述
常用示例值
透明度与模糊
background-image-opacity
Float (0.0 – 1.0)
1.0

 (不透明)
控制背景颜色的透明度。0.0 为完全透明,1.0 为完全不透明。
0.85

0.92
background-blur
Integer (pixels)
0
控制背景的高斯模糊半径(像素)。
注意:此功能主要在 macOS 上有效(利用系统原生毛玻璃),Linux/Windows 支持情况视具体实现而定。
10

2030
背景图片
background-image
String (Path)
设置终端背景图片的路径。支持绝对路径或相对路径。
"/Users/me/Pics/bg.png"

"~/wallpapers/dark.jpg"
background-image-fit
String
cover
控制背景图片的缩放方式。
– cover: 填满窗口(可能裁剪)
– contain: 完整显示(可能有留白)
– stretch: 拉伸填满(可能变形)
– tile: 平铺重复
cover

containtile
background-image-position
String
center
控制背景图片的对齐位置。
格式:x y (如 centertop left50% 50%)
center

top right
动态与条件背景
theme
String
默认主题
加载预设的颜色主题(包含背景色)。Ghostty 内置了 Catppuccin, Dracula 等流行主题。
catppuccin-mocha

dracula
background-color
Color Hex
由 theme 决定
强制覆盖主题的背景颜色。通常不需要设置,除非你想自定义纯色背景。
#1e1e2e

#282a36
  1. 光标选择
配置项 (Key)
类型
默认值
功能描述
常用示例值
形状与样式
cursor-style
String
block
设置光标的形状。
– block: 实心块 (默认)
– block_hollow: 空心块 (框)
– underline: 下划线
– bar: 竖条 (I-beam)
block

underlinebarblock_hollow
cursor-style-blink
Boolean
true
是否启用光标闪烁。
true: 闪烁
false: 常亮
true

false
颜色控制
cursor-color
Color Hex
由主题决定
强制指定光标的背景颜色(针对实心块或竖条)。会覆盖主题设置。
#FF5555

#ffffff
cursor-text
Color Hex
自动对比色
当光标覆盖文字时,强制指定文字的颜色。
常用于解决深色光标遮挡深色文字导致看不清的问题。
#000000

#ffffff
尺寸微调 (Adjust)
adjust-cursor-thickness
Pixels / %
自动
调整光标的粗细(主要针对 bar 和 underline 样式,也可微调 block 的边框)。
2px

3px10%
adjust-cursor-height
Percentage
100%
调整光标的高度占比。
对于 underline,控制下划线离基线的距离/厚度视觉效果;对于 bar,控制竖条的高度。
80%

90%
行为控制
cursor-vi-mode
String
block
专门针对 Vi/Vim 模式的光标样式。当进入 Vim 正常模式时自动切换形状。
block

underlinebar
本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » Ghostty–命令行终端使用的神器(二)

猜你喜欢

  • 暂无文章