[env]
TERM = "xterm-256color"
[keyboard]
action = "ResetFontSize"
key = "Key0"
mods = "Command"
bindings = [
{ key = "F2", mods="Control",action = "ToggleViMode" }
]
Mouse bindings
配置鼠标动作绑定,和键盘绑定类似。详细配置可以参考 Key bindings 一节
为了在 Alacritty 中运行的应用程序捕获鼠标时触发鼠标绑定,会自动添加 Shift 修饰符。
- mouse
:
- Middle
- Left
- Right
- Numeric identifier such as 5
- action
(see key bindings)
And optionally:
- mods
(see key bindings)
mouse_bindings:
- { mouse: Middle, action: PasteSelection } # 按鼠标中键粘贴选中内容
[mouse]
bindings = [
{ mouse = "Right",action = "Paste" }
]
[scrolling]
faux_multiplier = 100
history = 2000
multiplier = 20
size = 14
use_thin_strokes = true
[selection]
background = "#29263c"
save_to_clipboard = true
semantic_escape_chars = ",│`|:"' ()[]{}<>"
text = "CellForeground"st
[terminal.shell]
args = ["-l"]
program = 'D:\tools\system\nu\nu.exe'
program = 'bash.exe'
program = 'cmd.exe'
光标
[cursor]
style = { shape = "Beam", blinking = "On" }
字体
[font]
normal = { family = "FiraCode Nerd Font", style = "Bold" }
bold = { family = "FiraCode Nerd Font", style = "Bold" }
italic = { family = "FiraCode Nerd Font", style = "Bold" }
size = 12.0
颜色主题可以在github上找想要的主题,复制他的配色.
[colors.primary]
background = "#1a1b26"
foreground = "#a9b1d6"
[colors.normal]
black = "#32344a"
red = "#f7768e"
green = "#9ece6a"
yellow = "#e0af68"
blue = "#7aa2f7"
magenta = "#ad8ee6"
cyan = "#449dab"
white = "#787c99"
[colors.bright]
black = "#444b6a"
red = "#ff7a93"
green = "#b9f27c"
yellow = "#ff9e64"
blue = "#7da6ff"
magenta = "#bb9af7"
cyan = "#0db9d7"
white = "#acb0d0"
改变窗口设置
[window]
窗口大小
dimensions = { columns = 185, lines = 45 }
padding = { x = 4, y = 2 }
dynamic_padding = true
透明度
opacity = 0.9
窗口名字
title = "Alacritty"
option_as_alt = "Both"
startup_mode = "Windowed"
- full: 有边界 + 标题栏
- none: 无边界 + 标题栏
decorations = "full"
[general]
live_config_reload = true
[terminal]
Key bindings
按键绑定是对象列表。比如西面的是默认的粘贴的键位绑定
- { key: V, mods: Control|Shift, action: Paste }
Each key binding will specify a:
- key
: 需要按到的键盘码
- A-Z
- F1-F24
- Key0-Key9
键盘码可以从下面找到
https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants
这里对于不清楚键盘上每个键的英文名称的同学,可以参考
https://www.computerhope.com/jargon/b/backquot.htm
除了使用按键的名字之外,还支持使用所需键的 scancode。不过必须为十进制数字。下面的命令会显示十六进制的 scancode
showkey --scancodes
.
Then exactly one of:
- chars
: 发送字节序列到正在运行的应用程序
char 字段可以将指定的字符串写入终端。这功能可以用在传递转义序列中。
想要找到诸如 PageUp
("\x1b[5~"
) 这样的转义字符,可以通过 showkey -a
命令
xxd -psd
命令也可以做到
- action
: 执行预定义的操作
- ToggleViMode: 开启/关闭 Vi 模式
- SearchForward: 向前搜索
- SearchBackward: 向后搜索
- Copy: 复制
- Paste: 粘贴
- IncreaseFontSize: 增加字号
- DecreaseFontSize: 减小字号
- ResetFontSize: 重置字号
- ScrollPageUp: 向上翻一页
- ScrollPageDown: 向下翻一页
- ScrollHalfPageUp: 向上翻半页
- ScrollHalfPageDown: 向下翻半页
- ClearHistory: 清空滚动缓冲区
- Hide: 隐藏窗口
- Minimize: 最小化
- Quit: 退出
- ToggleFullscreen: 在全屏/当前模式下切换
- SpawnNewInstance: 启动一个新的 Alacritty
- ClearLogNotice: 清 UI 上的 warning 和 error 的 notice
- ClearSelection: 清空当前选中
- ReceiveChar: 不执行任何动作,将字符输入
- None: 不执行任何动作,并且拦截掉
- Vi 模式下独占的操作
- Open: 打开一个链接,launcher 的配置参考 url.launcher
- ToggleNormalSelection: 切换到普通选中模式
- ToggleLineSelection: 切换到行选中模式
- ToggleBlockSelection: 切换到块选中模式
- ToggleSemanticSelection: 切换到语义选中模式,参考 selection.semantic_escape_chars
.
- Vi 模式下独占的光标操作:
- Up: 向上一行
- Down: 向下一行
- Left: 向左一个字符
- Right: 向右一个字符
- First: 第一列,如果已经在第一列,那么到起始行
- Last: 最后一列,如果已经在最后一列,那么到起始行
- FirstOccupied: 此终端行中的第一个非空单元格,如果已经位于该行的第一个单元格时,那么该行的第一个非空单元格
- High: 屏幕最上方
- Middle: 屏幕中间
- Low: 屏幕底部
- SemanticLeft: 前一个在被语义上分隔的单词的开头
- SemanticRight: 下一个在被语义上分隔的单词的开头
- SemanticLeftEnd: 前一个被语义上分隔的单词的结尾
- SemanticRightEnd: 下一个被语义上分隔的单词的结尾
- WordLeft: 前一个被空白符分隔的单词的开头
- WordRight: 下一个被空白符分隔的单词的开头
- WordLeftEnd: 前一个被空白符分隔的单词的结尾
- WordRightEnd: 下一个被空白符分隔的单词的结尾
- Bracket: 与光标所在位置的括号匹配的字符
- SearchNext: 向后搜索
- SearchPrevious: 向前搜索
- SearchStart: vi 模式光标左侧的首次匹配
- SearchEnd: vi 模式光标右侧的最后匹配
- 搜索模式独占的操作:
- SearchFocusNext: 将焦点移到下一个搜索匹配项。
- SearchFocusPrevious: 将焦点移到上一个搜索匹配项。
- SearchConfirm: 确认搜索
- SearchCancel: 取消搜索
- SearchClear: 清空搜索内容
- SearchDeleteWord: 删除搜索内容的最后一个单词
- SearchHistoryPrevious: 跳转搜索内容历史的上一个
- SearchHistoryNext: 跳转搜索内容历史的下一个
- macos 独占的操作:
- ToggleSimpleFullscreen: Enter fullscreen without occupying another space.
- Linux/BSD 独占的操作:
- CopySelection: 从选中缓冲区中复制
- PasteSelection: 从选中缓冲区中粘贴
- command
: 执行命令
The command
field must be a map containing a program
string and an
args
array of command line parameter strings. For example:
{ program: "alacritty", args: ["-e", "vttest"] }
可选的:
- mods
: 修饰键
- Command
- Control
- Option
- Super
- Shift
- Alt
多个修饰键使用 |
进行组合,像这样:
mods: Control|Shift
.
- mode
: 对于指定的模式下进行绑定。用于在不同模式下向应用程序发送正确的转义序列
- AppCursor
- AppKeypad
- Search
- Alt
- Vi
A ~
操作符,用于逻辑取反
Alacritty 有默认的键位绑定,如果想要替换需要使用新的绑定进行覆盖。如果想取消默认的绑定,,可以映射到 ReceiveChar
。
另外,如果不希望接收该绑定的输入字符,可以映射到 None
。
如果相同的触发键位,有多个 action,那么会顺序执行