[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,那麼會順序執行