alacritty.yml (20935B)
1 # Configuration for Alacritty, the GPU enhanced terminal emulator 2 3 # Any items in the `env` entry below will be added as 4 # environment variables. Some entries may override variables 5 # set by alacritty it self. 6 env: 7 # TERM env customization. 8 # 9 # If this property is not set, alacritty will set it to xterm-256color. 10 # 11 # Note that some xterm terminfo databases don't declare support for italics. 12 # You can verify this by checking for the presence of `smso` and `sitm` in 13 # `infocmp xterm-256color`. 14 TERM: xterm-256color 15 16 window: 17 opacity: 1 18 dynamic_title: true 19 20 # Window dimensions in character columns and lines 21 # (changes require restart) 22 dimensions: 23 columns: 80 24 lines: 24 25 26 # Adds this many blank pixels of padding around the window 27 # Units are physical pixels; this is not DPI aware. 28 # (change requires restart) 29 padding: 30 x: 30 31 y: 30 32 33 # Window decorations 34 # Setting this to false will result in window without borders and title bar. 35 decorations: transparent 36 37 # When true, bold text is drawn using the bright variant of colors. 38 draw_bold_text_with_bright_colors: true 39 40 # Font configuration (changes require restart) 41 font: 42 # The normal (roman) font face to use. 43 normal: 44 family: Fira Mono 45 # Style can be specified to pick a specific face. 46 style: Medium 47 48 # The bold font face 49 bold: 50 family: Fira Mono 51 # Style can be specified to pick a specific face. 52 # style: Bold 53 54 # The italic font face 55 italic: 56 family: Fira Mono 57 # Style can be specified to pick a specific face. 58 # style: Italic 59 60 # Point size of the font 61 size: 12.0 62 63 # Offset is the extra space around each character. offset.y can be thought of 64 # as modifying the linespacing, and offset.x as modifying the letter spacing. 65 offset: 66 x: 0 67 y: 5 68 69 # Glyph offset determines the locations of the glyphs within their cells with 70 # the default being at the bottom. Increase the x offset to move the glyph to 71 # the right, increase the y offset to move the glyph upward. 72 glyph_offset: 73 x: 0 74 y: 0 75 76 # OS X only: use thin stroke font rendering. Thin strokes are suitable 77 # for retina displays, but for non-retina you probably want this set to 78 # false. 79 use_thin_strokes: false 80 81 # Use custom cursor colors. If true, display the cursor in the cursor.foreground 82 # and cursor.background colors, otherwise invert the colors of the cursor. 83 custom_cursor_colors: false 84 85 # Colors (Tomorrow Night Bright) 86 colors: 87 # Default colors 88 primary: 89 background: '#161819' 90 foreground: '#ebdbb2' 91 92 # Colors the cursor will use if `custom_cursor_colors` is true 93 cursor: 94 text: '#282828' 95 cursor: '#ebdbb2' 96 97 # Normal colors 98 normal: 99 black: '#282828' 100 red: '#cc241d' 101 green: '#98971a' 102 yellow: '#d79921' 103 blue: '#458588' 104 magenta: '#b16286' 105 cyan: '#689d6a' 106 white: '#a89984' 107 108 # Bright colors 109 bright: 110 black: '#928374' 111 red: '#fb4934' 112 green: '#b8bb26' 113 yellow: '#fabd2f' 114 blue: '#83a598' 115 magenta: '#d3869b' 116 cyan: '#8ec07c' 117 white: '#ebdbb2' 118 119 # # Dim colors (Optional) 120 # dim: 121 # black: '0x333333' 122 # red: '0xf2777a' 123 # green: '0x99cc99' 124 # yellow: '0xffcc66' 125 # blue: '0x6699cc' 126 # magenta: '0xcc99cc' 127 # cyan: '0x66cccc' 128 # white: '0xdddddd' 129 130 131 # Visual Bell 132 # 133 # Any time the BEL code is received, Alacritty "rings" the visual bell. Once 134 # rung, the terminal background will be set to white and transition back to the 135 # default background color. You can control the rate of this transition by 136 # setting the `duration` property (represented in milliseconds). You can also 137 # configure the transition function by setting the `animation` property. 138 # 139 # Possible values for `animation` 140 # `Ease` 141 # `EaseOut` 142 # `EaseOutSine` 143 # `EaseOutQuad` 144 # `EaseOutCubic` 145 # `EaseOutQuart` 146 # `EaseOutQuint` 147 # `EaseOutExpo` 148 # `EaseOutCirc` 149 # `Linear` 150 # 151 # To completely disable the visual bell, set its duration to 0. 152 # 153 bell: 154 animation: EaseOutExpo 155 duration: 0 156 157 # Mouse bindings 158 # 159 # Currently doesn't support modifiers. Both the `mouse` and `action` fields must 160 # be specified. 161 # 162 # Values for `mouse`: 163 # - Middle 164 # - Left 165 # - Right 166 # - Numeric identifier such as `5` 167 # 168 # Values for `action`: 169 # - Paste 170 # - PasteSelection 171 # - Copy (TODO) 172 mouse_bindings: 173 - { mouse: Middle, action: PasteSelection } 174 175 mouse: 176 # Click settings 177 # 178 # The `double_click` and `triple_click` settings control the time 179 # alacritty should wait for accepting multiple clicks as one double 180 # or triple click. 181 double_click: { threshold: 300 } 182 triple_click: { threshold: 300 } 183 hide_when_typing: true 184 185 # Faux Scrollback 186 # 187 # The `faux_scrollback_lines` setting controls the number 188 # of lines the terminal should scroll when the alternate 189 # screen buffer is active. This is used to allow mouse 190 # scrolling for applications like `man`. 191 # 192 # To disable this completely, set `faux_scrollback_lines` to 0. 193 faux_scrollback_lines: 1 194 195 selection: 196 semantic_escape_chars: ",│`|:\"' ()[]{}<>" 197 198 hide_cursor_when_typing: false 199 200 # Style of the cursor 201 # 202 # Values for 'cursor_style': 203 # - Block 204 # - Underline 205 # - Beam 206 cursor_style: Block 207 208 # Live config reload (changes require restart) 209 live_config_reload: true 210 211 # Shell 212 # 213 # You can set shell.program to the path of your favorite shell, e.g. /bin/fish. 214 # Entries in shell.args are passed unmodified as arguments to the shell. 215 # 216 shell: 217 program: zsh 218 # args: 219 # - --login 220 221 # Key bindings 222 # 223 # Each binding is defined as an object with some properties. Most of the 224 # properties are optional. All of the alphabetical keys should have a letter for 225 # the `key` value such as `V`. Function keys are probably what you would expect 226 # as well (F1, F2, ..). The number keys above the main keyboard are encoded as 227 # `Key1`, `Key2`, etc. Keys on the number pad are encoded `Number1`, `Number2`, 228 # etc. These all match the glutin::VirtualKeyCode variants. 229 # 230 # A list with all available `key` names can be found here: 231 # https://docs.rs/glutin/*/glutin/enum.VirtualKeyCode.html#variants 232 # 233 # Possible values for `mods` 234 # `Command`, `Super` refer to the super/command/windows key 235 # `Control` for the control key 236 # `Shift` for the Shift key 237 # `Alt` and `Option` refer to alt/option 238 # 239 # mods may be combined with a `|`. For example, requiring control and shift 240 # looks like: 241 # 242 # mods: Control|Shift 243 # 244 # The parser is currently quite sensitive to whitespace and capitalization - 245 # capitalization must match exactly, and piped items must not have whitespace 246 # around them. 247 # 248 # Either an `action`, `chars`, or `command` field must be present. 249 # `action` must be one of `Paste`, `PasteSelection`, `Copy`, or `Quit`. 250 # `chars` writes the specified string every time that binding is activated. 251 # These should generally be escape sequences, but they can be configured to 252 # send arbitrary strings of bytes. 253 # `command` must be a map containing a `program` string, and `args` array of 254 # strings. For example: 255 # - { ... , command: { program: "alacritty", args: ["-e", "vttest"] } } 256 # 257 # USE: xxd -psd 258 key_bindings: 259 - { key: N, mods: Command, action: SpawnNewInstance } 260 - { key: Return, mods: Command, action: ToggleFullscreen } 261 - { key: V, mods: Command, action: Paste } 262 - { key: C, mods: Command, action: Copy } 263 - { key: Q, mods: Command, action: Quit } 264 - { key: W, mods: Command, action: Quit } 265 - { key: Home, chars: "\x1bOH", mode: AppCursor } 266 - { key: Home, chars: "\x1b[H", mode: ~AppCursor } 267 - { key: End, chars: "\x1bOF", mode: AppCursor } 268 - { key: End, chars: "\x1b[F", mode: ~AppCursor } 269 - { key: Key0, mods: Command, action: ResetFontSize } 270 - { key: Equals, mods: Command, action: IncreaseFontSize } 271 - { key: Minus, mods: Command, action: DecreaseFontSize } 272 - { key: PageUp, mods: Shift, chars: "\x1b[5;2~" } 273 - { key: PageUp, mods: Control, chars: "\x1b[5;5~" } 274 - { key: PageUp, chars: "\x1b[5~" } 275 - { key: PageDown, mods: Shift, chars: "\x1b[6;2~" } 276 - { key: PageDown, mods: Control, chars: "\x1b[6;5~" } 277 - { key: PageDown, chars: "\x1b[6~" } 278 - { key: Tab, mods: Shift, chars: "\x1b[Z" } 279 - { key: Back, chars: "\x7f" } 280 - { key: Back, mods: Alt, chars: "\x1b\x7f" } 281 - { key: Insert, chars: "\x1b[2~" } 282 - { key: Delete, chars: "\x1b[3~" } 283 - { key: Left, mods: Shift, chars: "\x1b[1;2D" } 284 - { key: Left, mods: Control, chars: "\x1b[1;5D" } 285 - { key: Left, mods: Alt, chars: "\x1b[1;3D" } 286 - { key: Left, chars: "\x1b[D", mode: ~AppCursor } 287 - { key: Left, chars: "\x1bOD", mode: AppCursor } 288 - { key: Right, mods: Shift, chars: "\x1b[1;2C" } 289 - { key: Right, mods: Control, chars: "\x1b[1;5C" } 290 - { key: Right, mods: Alt, chars: "\x1b[1;3C" } 291 - { key: Right, chars: "\x1b[C", mode: ~AppCursor } 292 - { key: Right, chars: "\x1bOC", mode: AppCursor } 293 - { key: Up, mods: Shift, chars: "\x1b[1;2A" } 294 - { key: Up, mods: Control, chars: "\x1b[1;5A" } 295 - { key: Up, mods: Alt, chars: "\x1b[1;3A" } 296 - { key: Up, chars: "\x1b[A", mode: ~AppCursor } 297 - { key: Up, chars: "\x1bOA", mode: AppCursor } 298 - { key: Down, mods: Shift, chars: "\x1b[1;2B" } 299 - { key: Down, mods: Control, chars: "\x1b[1;5B" } 300 - { key: Down, mods: Alt, chars: "\x1b[1;3B" } 301 - { key: Down, chars: "\x1b[B", mode: ~AppCursor } 302 - { key: Down, chars: "\x1bOB", mode: AppCursor } 303 - { key: F1, chars: "\x1bOP" } 304 - { key: F2, chars: "\x1bOQ" } 305 - { key: F3, chars: "\x1bOR" } 306 - { key: F4, chars: "\x1bOS" } 307 - { key: F5, chars: "\x1b[15~" } 308 - { key: F6, chars: "\x1b[17~" } 309 - { key: F7, chars: "\x1b[18~" } 310 - { key: F8, chars: "\x1b[19~" } 311 - { key: F9, chars: "\x1b[20~" } 312 - { key: F10, chars: "\x1b[21~" } 313 - { key: F11, chars: "\x1b[23~" } 314 - { key: F12, chars: "\x1b[24~" } 315 - { key: F1, mods: Shift, chars: "\x1b[1;2P" } 316 - { key: F2, mods: Shift, chars: "\x1b[1;2Q" } 317 - { key: F3, mods: Shift, chars: "\x1b[1;2R" } 318 - { key: F4, mods: Shift, chars: "\x1b[1;2S" } 319 - { key: F5, mods: Shift, chars: "\x1b[15;2~" } 320 - { key: F6, mods: Shift, chars: "\x1b[17;2~" } 321 - { key: F7, mods: Shift, chars: "\x1b[18;2~" } 322 - { key: F8, mods: Shift, chars: "\x1b[19;2~" } 323 - { key: F9, mods: Shift, chars: "\x1b[20;2~" } 324 - { key: F10, mods: Shift, chars: "\x1b[21;2~" } 325 - { key: F11, mods: Shift, chars: "\x1b[23;2~" } 326 - { key: F12, mods: Shift, chars: "\x1b[24;2~" } 327 - { key: F1, mods: Control, chars: "\x1b[1;5P" } 328 - { key: F2, mods: Control, chars: "\x1b[1;5Q" } 329 - { key: F3, mods: Control, chars: "\x1b[1;5R" } 330 - { key: F4, mods: Control, chars: "\x1b[1;5S" } 331 - { key: F5, mods: Control, chars: "\x1b[15;5~" } 332 - { key: F6, mods: Control, chars: "\x1b[17;5~" } 333 - { key: F7, mods: Control, chars: "\x1b[18;5~" } 334 - { key: F8, mods: Control, chars: "\x1b[19;5~" } 335 - { key: F9, mods: Control, chars: "\x1b[20;5~" } 336 - { key: F10, mods: Control, chars: "\x1b[21;5~" } 337 - { key: F11, mods: Control, chars: "\x1b[23;5~" } 338 - { key: F12, mods: Control, chars: "\x1b[24;5~" } 339 - { key: F1, mods: Alt, chars: "\x1b[1;6P" } 340 - { key: F2, mods: Alt, chars: "\x1b[1;6Q" } 341 - { key: F3, mods: Alt, chars: "\x1b[1;6R" } 342 - { key: F4, mods: Alt, chars: "\x1b[1;6S" } 343 - { key: F5, mods: Alt, chars: "\x1b[15;6~" } 344 - { key: F6, mods: Alt, chars: "\x1b[17;6~" } 345 - { key: F7, mods: Alt, chars: "\x1b[18;6~" } 346 - { key: F8, mods: Alt, chars: "\x1b[19;6~" } 347 - { key: F9, mods: Alt, chars: "\x1b[20;6~" } 348 - { key: F10, mods: Alt, chars: "\x1b[21;6~" } 349 - { key: F11, mods: Alt, chars: "\x1b[23;6~" } 350 - { key: F12, mods: Alt, chars: "\x1b[24;6~" } 351 - { key: F1, mods: Command, chars: "\x1b[1;3P" } 352 - { key: F2, mods: Command, chars: "\x1b[1;3Q" } 353 - { key: F3, mods: Command, chars: "\x1b[1;3R" } 354 - { key: F4, mods: Command, chars: "\x1b[1;3S" } 355 - { key: F5, mods: Command, chars: "\x1b[15;3~" } 356 - { key: F6, mods: Command, chars: "\x1b[17;3~" } 357 - { key: F7, mods: Command, chars: "\x1b[18;3~" } 358 - { key: F8, mods: Command, chars: "\x1b[19;3~" } 359 - { key: F9, mods: Command, chars: "\x1b[20;3~" } 360 - { key: F10, mods: Command, chars: "\x1b[21;3~" } 361 - { key: F11, mods: Command, chars: "\x1b[23;3~" } 362 - { key: F12, mods: Command, chars: "\x1b[24;3~" } 363 364 # Alt key 365 - { key: A, mods: Alt, chars: "\x1ba" } 366 - { key: B, mods: Alt, chars: "\x1bb" } 367 - { key: C, mods: Alt, chars: "\x1bc" } 368 - { key: D, mods: Alt, chars: "\x1bd" } 369 - { key: E, mods: Alt, chars: "\x1be" } 370 - { key: F, mods: Alt, chars: "\x1bf" } 371 - { key: G, mods: Alt, chars: "\x1bg" } 372 - { key: H, mods: Alt, chars: "\x1bh" } 373 - { key: I, mods: Alt, chars: "\x1bi" } 374 - { key: J, mods: Alt, chars: "\x1bj" } 375 - { key: K, mods: Alt, chars: "\x1bk" } 376 - { key: L, mods: Alt, chars: "\x1bl" } 377 - { key: M, mods: Alt, chars: "\x1bm" } 378 - { key: N, mods: Alt, chars: "\x1bn" } 379 - { key: O, mods: Alt, chars: "\x1bo" } 380 - { key: P, mods: Alt, chars: "\x1bp" } 381 - { key: Q, mods: Alt, chars: "\x1bq" } 382 - { key: R, mods: Alt, chars: "\x1br" } 383 - { key: S, mods: Alt, chars: "\x1bs" } 384 - { key: T, mods: Alt, chars: "\x1bt" } 385 - { key: U, mods: Alt, chars: "\x1bu" } 386 - { key: V, mods: Alt, chars: "\x1bv" } 387 - { key: W, mods: Alt, chars: "\x1bw" } 388 - { key: X, mods: Alt, chars: "\x1bx" } 389 - { key: Y, mods: Alt, chars: "\x1by" } 390 - { key: Z, mods: Alt, chars: "\x1bz" } 391 - { key: A, mods: Alt|Shift, chars: "\x1bA" } 392 - { key: B, mods: Alt|Shift, chars: "\x1bB" } 393 - { key: C, mods: Alt|Shift, chars: "\x1bC" } 394 - { key: D, mods: Alt|Shift, chars: "\x1bD" } 395 - { key: E, mods: Alt|Shift, chars: "\x1bE" } 396 - { key: F, mods: Alt|Shift, chars: "\x1bF" } 397 - { key: G, mods: Alt|Shift, chars: "\x1bG" } 398 - { key: H, mods: Alt|Shift, chars: "\x1bH" } 399 - { key: I, mods: Alt|Shift, chars: "\x1bI" } 400 - { key: J, mods: Alt|Shift, chars: "\x1bJ" } 401 - { key: K, mods: Alt|Shift, chars: "\x1bK" } 402 - { key: L, mods: Alt|Shift, chars: "\x1bL" } 403 - { key: M, mods: Alt|Shift, chars: "\x1bM" } 404 - { key: N, mods: Alt|Shift, chars: "\x1bN" } 405 - { key: O, mods: Alt|Shift, chars: "\x1bO" } 406 - { key: P, mods: Alt|Shift, chars: "\x1bP" } 407 - { key: Q, mods: Alt|Shift, chars: "\x1bQ" } 408 - { key: R, mods: Alt|Shift, chars: "\x1bR" } 409 - { key: S, mods: Alt|Shift, chars: "\x1bS" } 410 - { key: T, mods: Alt|Shift, chars: "\x1bT" } 411 - { key: U, mods: Alt|Shift, chars: "\x1bU" } 412 - { key: V, mods: Alt|Shift, chars: "\x1bV" } 413 - { key: W, mods: Alt|Shift, chars: "\x1bW" } 414 - { key: X, mods: Alt|Shift, chars: "\x1bX" } 415 - { key: Y, mods: Alt|Shift, chars: "\x1bY" } 416 - { key: Z, mods: Alt|Shift, chars: "\x1bZ" } 417 - { key: Key1, mods: Alt, chars: "\x1b1" } 418 - { key: Key2, mods: Alt, chars: "\x1b2" } 419 - { key: Key3, mods: Alt, chars: "\x1b3" } 420 - { key: Key4, mods: Alt, chars: "\x1b4" } 421 - { key: Key5, mods: Alt, chars: "\x1b5" } 422 - { key: Key6, mods: Alt, chars: "\x1b6" } 423 - { key: Key7, mods: Alt, chars: "\x1b7" } 424 - { key: Key8, mods: Alt, chars: "\x1b8" } 425 - { key: Key9, mods: Alt, chars: "\x1b9" } 426 - { key: Key0, mods: Alt, chars: "\x1b0" } 427 - { key: Space, mods: Control, chars: "\x00" } # Ctrl + Space 428 - { key: Grave, mods: Alt, chars: "\x1b`" } # Alt + ` 429 - { key: Grave, mods: Alt|Shift, chars: "\x1b~" } # Alt + ~ 430 - { key: Period, mods: Alt, chars: "\x1b." } # Alt + . 431 - { key: Key8, mods: Alt|Shift, chars: "\x1b*" } # Alt + * 432 - { key: Key3, mods: Alt|Shift, chars: "\x1b#" } # Alt + # 433 - { key: Period, mods: Alt|Shift, chars: "\x1b>" } # Alt + > 434 - { key: Comma, mods: Alt|Shift, chars: "\x1b<" } # Alt + < 435 - { key: Minus, mods: Alt|Shift, chars: "\x1b_" } # Alt + _ 436 - { key: Key5, mods: Alt|Shift, chars: "\x1b%" } # Alt + % 437 - { key: Key6, mods: Alt|Shift, chars: "\x1b^" } # Alt + ^ 438 - { key: Backslash, mods: Alt, chars: "\x1b\\" } # Alt + \ 439 - { key: Backslash, mods: Alt|Shift, chars: "\x1b|" } # Alt + |