alacritty.yml (21149B) - raw
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 itself. 6 env: 7 # TERM variable 8 # 9 # This value is used to set the `$TERM` environment variable for 10 # each instance of Alacritty. If it is not present, alacritty will 11 # check the local terminfo database and use `alacritty` if it is 12 # available, otherwise `xterm-256color` is used. 13 TERM: xterm-256color 14 15 window: 16 # Window dimensions (changes require restart) 17 # 18 # Specified in number of columns/lines, not pixels. 19 # If both are `0`, this setting is ignored. 20 #dimensions: 21 # columns: 0 22 # lines: 0 23 24 # Window position (changes require restart) 25 # 26 # Specified in number of pixels. 27 # If the position is not set, the window manager will handle the placement. 28 #position: 29 # x: 0 30 # y: 0 31 32 # Window padding (changes require restart) 33 # 34 # Blank space added around the window in pixels. This padding is scaled 35 # by DPI and the specified value is always added at both opposing sides. 36 padding: 37 x: 10 38 y: 10 39 40 # Spread additional padding evenly around the terminal content. 41 #dynamic_padding: true 42 43 # Window decorations 44 # 45 # Values for `decorations`: 46 # - full: Borders and title bar 47 # - none: Neither borders nor title bar 48 # 49 # Values for `decorations` (macOS only): 50 # - transparent: Title bar, transparent background and title bar buttons 51 # - buttonless: Title bar, transparent background, but no title bar buttons 52 #decorations: full 53 54 # Startup Mode (changes require restart) 55 # 56 # Values for `startup_mode`: 57 # - Windowed 58 # - Maximized 59 # - Fullscreen 60 # 61 # Values for `startup_mode` (macOS only): 62 # - SimpleFullscreen 63 #startup_mode: Windowed 64 65 # Window title 66 #title: Alacritty 67 68 # Window class (Linux/BSD only): 69 #class: 70 # Application instance name 71 #instance: Alacritty 72 # General application class 73 #general: Alacritty 74 75 # GTK theme variant (Linux/BSD only) 76 # 77 # Override the variant of the GTK theme. Commonly supported values are `dark` and `light`. 78 # Set this to `None` to use the default theme variant. 79 #gtk_theme_variant: None 80 81 #scrolling: 82 # Maximum number of lines in the scrollback buffer. 83 # Specifying '0' will disable scrolling. 84 #history: 10000 85 86 # Scrolling distance multiplier. 87 #multiplier: 3 88 89 # Font configuration 90 font: 91 # Normal (roman) font face 92 #normal: 93 # Font family 94 # 95 # Default: 96 # - (macOS) Menlo 97 # - (Linux/BSD) monospace 98 # - (Windows) Consolas 99 #family: monospace 100 101 # The `style` can be specified to pick a specific face. 102 #style: Regular 103 104 # Bold font face 105 #bold: 106 # Font family 107 # 108 # If the bold family is not specified, it will fall back to the 109 # value specified for the normal font. 110 #family: monospace 111 112 # The `style` can be specified to pick a specific face. 113 #style: Bold 114 115 # Italic font face 116 #italic: 117 # Font family 118 # 119 # If the italic family is not specified, it will fall back to the 120 # value specified for the normal font. 121 #family: monospace 122 123 # The `style` can be specified to pick a specific face. 124 #style: Italic 125 126 # Bold italic font face 127 #bold_italic: 128 # Font family 129 # 130 # If the bold italic family is not specified, it will fall back to the 131 # value specified for the normal font. 132 #family: monospace 133 134 # The `style` can be specified to pick a specific face. 135 #style: Bold Italic 136 137 # Point size 138 size: 12.0 139 140 # Offset is the extra space around each character. `offset.y` can be thought of 141 # as modifying the line spacing, and `offset.x` as modifying the letter spacing. 142 #offset: 143 # x: 0 144 # y: 0 145 146 # Glyph offset determines the locations of the glyphs within their cells with 147 # the default being at the bottom. Increasing `x` moves the glyph to the right, 148 # increasing `y` moves the glyph upwards. 149 #glyph_offset: 150 # x: 0 151 # y: 0 152 153 # Thin stroke font rendering (macOS only) 154 # 155 # Thin strokes are suitable for retina displays, but for non-retina screens 156 # it is recommended to set `use_thin_strokes` to `false`. 157 #use_thin_strokes: true 158 159 # If `true`, bold text is drawn using the bright color variants. 160 #draw_bold_text_with_bright_colors: false 161 162 # Colors (Tomorrow Night) 163 colors: 164 # Default colors 165 primary: 166 background: '#282c34' 167 foreground: '#d3d7de' 168 169 # Bright and dim foreground colors 170 # 171 # The dimmed foreground color is calculated automatically if it is not present. 172 # If the bright foreground color is not set, or `draw_bold_text_with_bright_colors` 173 # is `false`, the normal foreground color will be used. 174 #dim_foreground: '#828482' 175 #bright_foreground: '#eaeaea' 176 177 # Cursor colors 178 # 179 # Colors which should be used to draw the terminal cursor. If these are 180 # unset, the cursor color will be the inverse of the cell color. 181 #cursor: 182 # text: '#000000' 183 # cursor: '#ffffff' 184 185 # Vi mode cursor colors 186 # 187 # Colors for the cursor when the vi mode is active. If these are unset, the 188 # cursor color will be the inverse of the cell color. 189 #vi_mode_cursor: 190 # text: '#000000' 191 # cursor: '#ffffff' 192 193 # Selection colors 194 # 195 # Colors which should be used to draw the selection area. If selection 196 # background is unset, selection color will be the inverse of the cell colors. 197 # If only text is unset the cell text color will remain the same. 198 #selection: 199 # text: '#eaeaea' 200 # background: '#404040' 201 202 # Normal colors 203 normal: 204 black: '#282c34' 205 red: '#e06c75' 206 green: '#98c379' 207 yellow: '#e5c07b' 208 blue: '#61afef' 209 magenta: '#c678dd' 210 cyan: '#56b6c2' 211 white: '#ffffff' 212 213 # Bright colors 214 bright: 215 black: '#5c6370' 216 red: '#e06c75' 217 green: '#98c379' 218 yellow: '#e5c07b' 219 blue: '#61afef' 220 magenta: '#c678dd' 221 cyan: '#56b6c2' 222 white: '#ffffff' 223 224 # Dim colors 225 # 226 # If the dim colors are not set, they will be calculated automatically based 227 # on the `normal` colors. 228 #dim: 229 # black: '#131415' 230 # red: '#864343' 231 # green: '#777c44' 232 # yellow: '#9e824c' 233 # blue: '#556a7d' 234 # magenta: '#75617b' 235 # cyan: '#5b7d78' 236 # white: '#828482' 237 238 # Indexed Colors 239 # 240 # The indexed colors include all colors from 16 to 256. 241 # When these are not set, they're filled with sensible defaults. 242 # 243 # Example: 244 # `- { index: 16, color: '#ff00ff' }` 245 # 246 #indexed_colors: [] 247 248 # Visual Bell 249 # 250 # Any time the BEL code is received, Alacritty "rings" the visual bell. Once 251 # rung, the terminal background will be set to white and transition back to the 252 # default background color. You can control the rate of this transition by 253 # setting the `duration` property (represented in milliseconds). You can also 254 # configure the transition function by setting the `animation` property. 255 # 256 # Values for `animation`: 257 # - Ease 258 # - EaseOut 259 # - EaseOutSine 260 # - EaseOutQuad 261 # - EaseOutCubic 262 # - EaseOutQuart 263 # - EaseOutQuint 264 # - EaseOutExpo 265 # - EaseOutCirc 266 # - Linear 267 # 268 # Specifying a `duration` of `0` will disable the visual bell. 269 #visual_bell: 270 # animation: EaseOutExpo 271 # duration: 0 272 # color: '#ffffff' 273 274 # Background opacity 275 # 276 # Window opacity as a floating point number from `0.0` to `1.0`. 277 # The value `0.0` is completely transparent and `1.0` is opaque. 278 #background_opacity: 1.0 279 280 #selection: 281 #semantic_escape_chars: ",│`|:\"' ()[]{}<>\t" 282 283 # When set to `true`, selected text will be copied to the primary clipboard. 284 #save_to_clipboard: false 285 286 # Allow terminal applications to change Alacritty's window title. 287 #dynamic_title: true 288 289 #cursor: 290 # Cursor style 291 # 292 # Values for `style`: 293 # - ▇ Block 294 # - _ Underline 295 # - | Beam 296 #style: Block 297 298 # Vi mode cursor style 299 # 300 # If the vi mode cursor style is `None` or not specified, it will fall back to 301 # the style of the active value of the normal cursor. 302 # 303 # See `cursor.style` for available options. 304 #vi_mode_style: None 305 306 # If this is `true`, the cursor will be rendered as a hollow box when the 307 # window is not focused. 308 #unfocused_hollow: true 309 310 # Thickness of the cursor relative to the cell width as floating point number 311 # from `0.0` to `1.0`. 312 #thickness: 0.15 313 314 # Live config reload (changes require restart) 315 #live_config_reload: true 316 317 # Shell 318 # 319 # You can set `shell.program` to the path of your favorite shell, e.g. `/bin/fish`. 320 # Entries in `shell.args` are passed unmodified as arguments to the shell. 321 # 322 # Default: 323 # - (macOS) /bin/bash --login 324 # - (Linux/BSD) user login shell 325 # - (Windows) powershell 326 #shell: 327 # program: /bin/bash 328 # args: 329 # - --login 330 331 # Startup directory 332 # 333 # Directory the shell is started in. If this is unset, or `None`, the working 334 # directory of the parent process will be used. 335 #working_directory: None 336 337 # WinPTY backend (Windows only) 338 # 339 # Alacritty defaults to using the newer ConPTY backend if it is available, 340 # since it resolves a lot of bugs and is quite a bit faster. If it is not 341 # available, the the WinPTY backend will be used instead. 342 # 343 # Setting this option to `true` makes Alacritty use the legacy WinPTY backend, 344 # even if the ConPTY backend is available. 345 #winpty_backend: false 346 347 # Send ESC (\x1b) before characters when alt is pressed. 348 #alt_send_esc: true 349 350 #mouse: 351 # Click settings 352 # 353 # The `double_click` and `triple_click` settings control the time 354 # alacritty should wait for accepting multiple clicks as one double 355 # or triple click. 356 #double_click: { threshold: 300 } 357 #triple_click: { threshold: 300 } 358 359 # If this is `true`, the cursor is temporarily hidden when typing. 360 #hide_when_typing: false 361 362 #url: 363 # URL launcher 364 # 365 # This program is executed when clicking on a text which is recognized as a URL. 366 # The URL is always added to the command as the last parameter. 367 # 368 # When set to `launcher: None`, URL launching will be disabled completely. 369 # 370 # Default: 371 # - (macOS) open 372 # - (Linux/BSD) xdg-open 373 # - (Windows) explorer 374 #launcher: 375 # program: xdg-open 376 # args: [] 377 378 # URL modifiers 379 # 380 # These are the modifiers that need to be held down for opening URLs when clicking 381 # on them. The available modifiers are documented in the key binding section. 382 #modifiers: None 383 384 # Mouse bindings 385 # 386 # Mouse bindings are specified as a list of objects, much like the key 387 # bindings further below. 388 # 389 # To trigger mouse bindings when an application running within Alacritty captures the mouse, the 390 # `Shift` modifier is automatically added as a requirement. 391 # 392 # Each mouse binding will specify a: 393 # 394 # - `mouse`: 395 # 396 # - Middle 397 # - Left 398 # - Right 399 # - Numeric identifier such as `5` 400 # 401 # - `action` (see key bindings) 402 # 403 # And optionally: 404 # 405 # - `mods` (see key bindings) 406 #mouse_bindings: 407 # - { mouse: Middle, action: PasteSelection } 408 409 # Key bindings 410 # 411 # Key bindings are specified as a list of objects. For example, this is the 412 # default paste binding: 413 # 414 # `- { key: V, mods: Control|Shift, action: Paste }` 415 # 416 # Each key binding will specify a: 417 # 418 # - `key`: Identifier of the key pressed 419 # 420 # - A-Z 421 # - F1-F24 422 # - Key0-Key9 423 # 424 # A full list with available key codes can be found here: 425 # https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants 426 # 427 # Instead of using the name of the keys, the `key` field also supports using 428 # the scancode of the desired key. Scancodes have to be specified as a 429 # decimal number. This command will allow you to display the hex scancodes 430 # for certain keys: 431 # 432 # `showkey --scancodes`. 433 # 434 # Then exactly one of: 435 # 436 # - `chars`: Send a byte sequence to the running application 437 # 438 # The `chars` field writes the specified string to the terminal. This makes 439 # it possible to pass escape sequences. To find escape codes for bindings 440 # like `PageUp` (`"\x1b[5~"`), you can run the command `showkey -a` outside 441 # of tmux. Note that applications use terminfo to map escape sequences back 442 # to keys. It is therefore required to update the terminfo when changing an 443 # escape sequence. 444 # 445 # - `action`: Execute a predefined action 446 # 447 # - ToggleViMode 448 # - Copy 449 # - Paste 450 # - PasteSelection 451 # - IncreaseFontSize 452 # - DecreaseFontSize 453 # - ResetFontSize 454 # - ScrollPageUp 455 # - ScrollPageDown 456 # - ScrollLineUp 457 # - ScrollLineDown 458 # - ScrollToTop 459 # - ScrollToBottom 460 # - ClearHistory 461 # - Hide 462 # - Minimize 463 # - Quit 464 # - ToggleFullscreen 465 # - SpawnNewInstance 466 # - ClearLogNotice 467 # - ClearSelection 468 # - ReceiveChar 469 # - None 470 # 471 # (`mode: Vi` only): 472 # - Open 473 # - Up 474 # - Down 475 # - Left 476 # - Right 477 # - First 478 # - Last 479 # - FirstOccupied 480 # - High 481 # - Middle 482 # - Low 483 # - SemanticLeft 484 # - SemanticRight 485 # - SemanticLeftEnd 486 # - SemanticRightEnd 487 # - WordRight 488 # - WordLeft 489 # - WordRightEnd 490 # - WordLeftEnd 491 # - Bracket 492 # - ToggleNormalSelection 493 # - ToggleLineSelection 494 # - ToggleBlockSelection 495 # - ToggleSemanticSelection 496 # 497 # (macOS only): 498 # - ToggleSimpleFullscreen: Enters fullscreen without occupying another space 499 # 500 # (Linux/BSD only): 501 # - CopySelection: Copies into selection buffer 502 # 503 # - `command`: Fork and execute a specified command plus arguments 504 # 505 # The `command` field must be a map containing a `program` string and an 506 # `args` array of command line parameter strings. For example: 507 # `{ program: "alacritty", args: ["-e", "vttest"] }` 508 # 509 # And optionally: 510 # 511 # - `mods`: Key modifiers to filter binding actions 512 # 513 # - Command 514 # - Control 515 # - Option 516 # - Super 517 # - Shift 518 # - Alt 519 # 520 # Multiple `mods` can be combined using `|` like this: 521 # `mods: Control|Shift`. 522 # Whitespace and capitalization are relevant and must match the example. 523 # 524 # - `mode`: Indicate a binding for only specific terminal reported modes 525 # 526 # This is mainly used to send applications the correct escape sequences 527 # when in different modes. 528 # 529 # - AppCursor 530 # - AppKeypad 531 # - Alt 532 # 533 # A `~` operator can be used before a mode to apply the binding whenever 534 # the mode is *not* active, e.g. `~Alt`. 535 # 536 # Bindings are always filled by default, but will be replaced when a new 537 # binding with the same triggers is defined. To unset a default binding, it can 538 # be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for 539 # a no-op if you do not wish to receive input characters for that binding. 540 # 541 # If the same trigger is assigned to multiple actions, all of them are executed 542 # at once. 543 #key_bindings: 544 #- { key: Paste, action: Paste } 545 #- { key: Copy, action: Copy } 546 #- { key: L, mods: Control, action: ClearLogNotice } 547 #- { key: L, mods: Control, mode: ~Vi, chars: "\x0c" } 548 #- { key: PageUp, mods: Shift, mode: ~Alt, action: ScrollPageUp, } 549 #- { key: PageDown, mods: Shift, mode: ~Alt, action: ScrollPageDown } 550 #- { key: Home, mods: Shift, mode: ~Alt, action: ScrollToTop, } 551 #- { key: End, mods: Shift, mode: ~Alt, action: ScrollToBottom } 552 553 # Vi Mode 554 #- { key: Space, mods: Shift|Control, mode: Vi, action: ScrollToBottom } 555 #- { key: Space, mods: Shift|Control, action: ToggleViMode } 556 #- { key: Escape, mode: Vi, action: ClearSelection } 557 #- { key: I, mode: Vi, action: ScrollToBottom } 558 #- { key: I, mode: Vi, action: ToggleViMode } 559 #- { key: Y, mods: Control, mode: Vi, action: ScrollLineUp } 560 #- { key: E, mods: Control, mode: Vi, action: ScrollLineDown } 561 #- { key: G, mode: Vi, action: ScrollToTop } 562 #- { key: G, mods: Shift, mode: Vi, action: ScrollToBottom } 563 #- { key: B, mods: Control, mode: Vi, action: ScrollPageUp } 564 #- { key: F, mods: Control, mode: Vi, action: ScrollPageDown } 565 #- { key: U, mods: Control, mode: Vi, action: ScrollHalfPageUp } 566 #- { key: D, mods: Control, mode: Vi, action: ScrollHalfPageDown } 567 #- { key: Y, mode: Vi, action: Copy } 568 #- { key: Y, mode: Vi, action: ClearSelection } 569 #- { key: Copy, mode: Vi, action: ClearSelection } 570 #- { key: V, mode: Vi, action: ToggleNormalSelection } 571 #- { key: V, mods: Shift, mode: Vi, action: ToggleLineSelection } 572 #- { key: V, mods: Control, mode: Vi, action: ToggleBlockSelection } 573 #- { key: V, mods: Alt, mode: Vi, action: ToggleSemanticSelection } 574 #- { key: Return, mode: Vi, action: Open } 575 #- { key: K, mode: Vi, action: Up } 576 #- { key: J, mode: Vi, action: Down } 577 #- { key: H, mode: Vi, action: Left } 578 #- { key: L, mode: Vi, action: Right } 579 #- { key: Up, mode: Vi, action: Up } 580 #- { key: Down, mode: Vi, action: Down } 581 #- { key: Left, mode: Vi, action: Left } 582 #- { key: Right, mode: Vi, action: Right } 583 #- { key: Key0, mode: Vi, action: First } 584 #- { key: Key4, mods: Shift, mode: Vi, action: Last } 585 #- { key: Key6, mods: Shift, mode: Vi, action: FirstOccupied } 586 #- { key: H, mods: Shift, mode: Vi, action: High } 587 #- { key: M, mods: Shift, mode: Vi, action: Middle } 588 #- { key: L, mods: Shift, mode: Vi, action: Low } 589 #- { key: B, mode: Vi, action: SemanticLeft } 590 #- { key: W, mode: Vi, action: SemanticRight } 591 #- { key: E, mode: Vi, action: SemanticRightEnd } 592 #- { key: B, mods: Shift, mode: Vi, action: WordLeft } 593 #- { key: W, mods: Shift, mode: Vi, action: WordRight } 594 #- { key: E, mods: Shift, mode: Vi, action: WordRightEnd } 595 #- { key: Key5, mods: Shift, mode: Vi, action: Bracket } 596 597 # (Windows, Linux, and BSD only) 598 #- { key: V, mods: Control|Shift, action: Paste } 599 #- { key: C, mods: Control|Shift, action: Copy } 600 #- { key: C, mods: Control|Shift, mode: Vi, action: ClearSelection } 601 #- { key: Insert, mods: Shift, action: PasteSelection } 602 #- { key: Key0, mods: Control, action: ResetFontSize } 603 #- { key: Equals, mods: Control, action: IncreaseFontSize } 604 #- { key: Add, mods: Control, action: IncreaseFontSize } 605 #- { key: Subtract, mods: Control, action: DecreaseFontSize } 606 #- { key: Minus, mods: Control, action: DecreaseFontSize } 607 608 # (Windows only) 609 #- { key: Return, mods: Alt, action: ToggleFullscreen } 610 611 # (macOS only) 612 #- { key: K, mods: Command, mode: ~Vi, chars: "\x0c" } 613 #- { key: Key0, mods: Command, action: ResetFontSize } 614 #- { key: Equals, mods: Command, action: IncreaseFontSize } 615 #- { key: Add, mods: Command, action: IncreaseFontSize } 616 #- { key: Minus, mods: Command, action: DecreaseFontSize } 617 #- { key: K, mods: Command, action: ClearHistory } 618 #- { key: V, mods: Command, action: Paste } 619 #- { key: C, mods: Command, action: Copy } 620 #- { key: C, mods: Command, mode: Vi, action: ClearSelection } 621 #- { key: H, mods: Command, action: Hide } 622 #- { key: M, mods: Command, action: Minimize } 623 #- { key: Q, mods: Command, action: Quit } 624 #- { key: W, mods: Command, action: Quit } 625 #- { key: N, mods: Command, action: SpawnNewInstance } 626 #- { key: F, mods: Command|Control, action: ToggleFullscreen } 627 628 #debug: 629 # Display the time it takes to redraw each frame. 630 #render_timer: false 631 632 # Keep the log file after quitting Alacritty. 633 #persistent_logging: false 634 635 # Log level 636 # 637 # Values for `log_level`: 638 # - None 639 # - Error 640 # - Warn 641 # - Info 642 # - Debug 643 # - Trace 644 #log_level: Warn 645 646 # Print all received window events. 647 #print_events: false