# # Configuration for Alacritty, the GPU enhanced terminal emulator # # Any items in the `env` entry below will be added as # # environment variables. Some entries may override variables # # set by alacritty it self. # # env: # # TERM env customization. # # # # If this property is not set, alacritty will set it to xterm-256color. # # # # Note that some xterm terminfo databases don't declare support for italics. # # You can verify this by checking for the presence of `smso` and `sitm` in # # `infocmp xterm-256color`. # # TERM: xterm-256color-italic window: # # Window dimensions (changes require restart) # # # # Specified in number of columns/lines, not pixels. If both are zero this # # setting is ignored. # dimensions: # columns: 100 # lines: 85 # # Window padding (changes require restart) # # # # Blank space added around the window in pixels. This padding is not scaled by # # DPI and the specified value is always added at both opposing sides. padding: x: 8 y: 8 # # Spread additional padding evenly around the terminal content. # dynamic_padding: false # # Window decorations # # # # Available values: # # - full: borders and title bar # # - none: neither borders nor title bar # # - transparent: title bar, transparent background and title bar buttons # # - buttonless: title bar, transparent background, but no title bar buttons # decorations: buttonless # # Startup Mode (changes require restart) # # # # Values for `startup_mode`: # # - Windowed # # - Maximized # # - Fullscreen # # # # Values for `startup_mode` (macOS only): # # - SimpleFullscreen # startup_mode: Windowed # # Background opacity # opacity: 1.0 # scrolling: # # maximum number of lines in the scrollback buffer. Specifying '0' will # # disable scrolling. # history: 0 # # Number of lines the viewport will move for every line scrolled when # # scrollback is enabled (history > 0). # multiplier: 3 # # Font configuration (changes require restart) font: # # The normal (roman) font face to use. # # Style can be specified to pick a specific face. # normal: # family: JetBrainsMono # style: Light # # family: "Fira Code" # # family: "Source Code Pro" # # style: Retina # # The bold font face # bold: # family: Iosevka # style: Medium # # family: "Fira Code" # # family: "Source Code Pro" # # The italic font face # italic: # family: Iosevka # style: "Light Italic" # # style: "Light Oblique" # # family: "Fira Code" # # family: "Source Code Pro" # # style: "Medium Italic" # # Point size of the font size: 8.0 # # Offset is the extra space around each character. offset.y can be thought of # # as modifying the linespacing, and offset.x as modifying the letter spacing. # offset: # x: 0 # y: 0 # # Glyph offset determines the locations of the glyphs within their cells with # # the default being at the bottom. Increase the x offset to move the glyph to # # the right, increase the y offset to move the glyph upward. # glyph_offset: # x: 0 # y: 0 # # Thin stroke font rendering (macOS only) # # # # Thin strokes are suitable for retina displays, but for non-retina you # # probably want this set to false. # # # # macOS >= 10.14.x: # # # # If the font quality on non-retina display looks bad then set # # `use_thin_strokes` to `true` and enable font smoothing by running the # # following command: # # `defaults write -g CGFontRenderingFontSmoothingDisabled -bool NO` # # # # This is a global setting and will require a log out or restart to take # # effect. # use_thin_strokes: true # # When true, bold text is drawn using the bright variant of colors. # draw_bold_text_with_bright_colors: false # # Use custom cursor colors. If true, display the cursor in the cursor.foreground # # and cursor.background colors, otherwise invert the colors of the cursor. # custom_cursor_colors: true # # Colors colors: # # Tomorrow (https://github.com/aarowill/base16-alacritty/blob/master/colors/base16-tomorrow.yml) # # Default colors # primary: # background: '0xffffff' # foreground: '0x4d4d4c' # # Colors the cursor will use if `custom_cursor_colors` is true # cursor: # text: '0xffffff' # cursor: '0x4d4d4c' # # Normal colors # normal: # black: '0xffffff' # red: '0xc82829' # green: '0x718c00' # yellow: '0xeab700' # blue: '0x4271ae' # magenta: '0x8959a8' # cyan: '0x3e999f' # white: '0x4d4d4c' # # Bright colors # bright: # black: '0x8e908c' # red: '0xf5871f' # green: '0xe0e0e0' # yellow: '0xd6d6d6' # blue: '0x969896' # magenta: '0x282a2e' # cyan: '0xa3685a' # white: '0x1d1f21' # # # Tomorrow Night (https://github.com/aarowill/base16-alacritty/blob/master/colors/base16-tomorrow-night.yml) # # # Default colors primary: background: '0x222222' # # foreground: '0xc5c8c6' # # # Colors the cursor will use if `custom_cursor_colors` is true # # cursor: # # text: '0x1d1f21' # # cursor: '0xc5c8c6' # # # Normal colors # # normal: # # black: '0x1d1f21' # # red: '0xcc6666' # # green: '0xb5bd68' # # yellow: '0xf0c674' # # blue: '0x81a2be' # # magenta: '0xb294bb' # # cyan: '0x8abeb7' # # white: '0xc5c8c6' # # # Bright colors # # bright: # # black: '0x969896' # # red: '0xde935f' # # green: '0x282a2e' # # yellow: '0x373b41' # # blue: '0xb4b7b4' # # magenta: '0xe0e0e0' # # cyan: '0xa3685a' # # white: '0xffffff' # # Indexed Colors # # # # The indexed colors include all colors from 16 to 256. # # When these are not set, they're filled with sensible defaults. # # # # Example: # # `- { index: 16, color: '0xff00ff' }` # # # # indexed_colors: [] # # Visual Bell # # # # Any time the BEL code is received, Alacritty "rings" the visual bell. Once # # rung, the terminal background will be set to white and transition back to the # # default background color. You can control the rate of this transition by # # setting the `duration` property (represented in milliseconds). You can also # # configure the transition function by setting the `animation` property. # # # # Possible values for `animation` # # `Ease` # # `EaseOut` # # `EaseOutSine` # # `EaseOutQuad` # # `EaseOutCubic` # # `EaseOutQuart` # # `EaseOutQuint` # # `EaseOutExpo` # # `EaseOutCirc` # # `Linear` # # # # To completely disable the visual bell, set its duration to 0. # # # bell: # animation: EaseOutExpo # color: '0xffffff' # duration: 0 # # Key bindings # # # # Key bindings are specified as a list of objects. Each binding will specify a # # key and modifiers required to trigger it, terminal modes where the binding is # # applicable, and what should be done when the key binding fires. It can either # # send a byte sequence to the running application (`chars`), execute a # # predefined action (`action`) or fork and execute a specified command plus # # arguments (`command`). # # # # Bindings are always filled by default, but will be replaced when a new binding # # with the same triggers is defined. To unset a default binding, it can be # # mapped to the `None` action. # # # # Example: # # `- { key: V, mods: Control|Shift, action: Paste }` # # # # Available fields: # # - key # # - mods (optional) # # - chars | action | command (exactly one required) # # - mode (optional) # # # # Values for `key`: # # - `A` -> `Z` # # - `F1` -> `F12` # # - `Key1` -> `Key0` # # # # A full list with available key codes can be found here: # # https://docs.rs/glutin/*/glutin/enum.VirtualKeyCode.html#variants # # # # Instead of using the name of the keys, the `key` field also supports using # # the scancode of the desired key. Scancodes have to be specified as a # # decimal number. # # This command will allow you to display the hex scancodes for certain keys: # # `showkey --scancodes` # # # # Values for `mods`: # # - Command # # - Control # # - Option # # - Super # # - Shift # # - Alt # # # # Multiple `mods` can be combined using `|` like this: `mods: Control|Shift`. # # Whitespace and capitalization is relevant and must match the example. # # # # Values for `chars`: # # The `chars` field writes the specified string to the terminal. This makes # # it possible to pass escape sequences. # # To find escape codes for bindings like `PageUp` ("\x1b[5~"), you can run # # the command `showkey -a` outside of tmux. # # Note that applications use terminfo to map escape sequences back to # # keys. It is therefore required to update the terminfo when # # changing an escape sequence. # # # # Values for `action`: # # - Paste # # - PasteSelection # # - Copy # # - IncreaseFontSize # # - DecreaseFontSize # # - ResetFontSize # # - ScrollPageUp # # - ScrollPageDown # # - ScrollLineUp # # - ScrollLineDown # # - ScrollToTop # # - ScrollToBottom # # - ClearHistory # # - Hide # # - Quit # # - ClearLogNotice # # - SpawnNewInstance # # - ToggleFullscreen # # - None # # # # Values for `action` (macOS only): # # - ToggleSimpleFullscreen: Enters fullscreen without occupying another space # # # # Values for `command`: # # The `command` field must be a map containing a `program` string and # # an `args` array of command line parameter strings. # # # # Example: # # `command: { program: "alacritty", args: ["-e", "vttest"] }` # # # # Values for `mode`: # # - ~AppCursor # # - AppCursor # # - ~AppKeypad # # - AppKeypad # # # key_bindings: # - { key: V, mods: Command, action: Paste } # - { key: C, mods: Command, action: Copy } # - { key: Q, mods: Command, action: Quit } # - { key: N, mods: Command, action: SpawnNewInstance } # - { key: Return, mods: Command, action: ToggleFullscreen } # - { key: Home, chars: "\x1bOH", mode: AppCursor } # - { key: Home, chars: "\x1b[H", mode: ~AppCursor } # - { key: End, chars: "\x1bOF", mode: AppCursor } # - { key: End, chars: "\x1b[F", mode: ~AppCursor } # - { key: Equals, mods: Command, action: IncreaseFontSize } # - { key: Minus, mods: Command, action: DecreaseFontSize } # - { key: Minus, mods: Command|Shift, action: ResetFontSize } # - { key: PageUp, mods: Shift, chars: "\x1b[5;2~" } # - { key: PageUp, mods: Control, chars: "\x1b[5;5~" } # - { key: PageUp, chars: "\x1b[5~" } # - { key: PageDown, mods: Shift, chars: "\x1b[6;2~" } # - { key: PageDown, mods: Control, chars: "\x1b[6;5~" } # - { key: PageDown, chars: "\x1b[6~" } # - { key: Left, mods: Shift, chars: "\x1b[1;2D" } # - { key: Left, mods: Control, chars: "\x1b[1;5D" } # - { key: Left, mods: Alt, chars: "\x1b[1;3D" } # - { key: Left, chars: "\x1b[D", mode: ~AppCursor } # - { key: Left, chars: "\x1bOD", mode: AppCursor } # - { key: Right, mods: Shift, chars: "\x1b[1;2C" } # - { key: Right, mods: Control, chars: "\x1b[1;5C" } # - { key: Right, mods: Alt, chars: "\x1b[1;3C" } # - { key: Right, chars: "\x1b[C", mode: ~AppCursor } # - { key: Right, chars: "\x1bOC", mode: AppCursor } # - { key: Up, mods: Shift, chars: "\x1b[1;2A" } # - { key: Up, mods: Control, chars: "\x1b[1;5A" } # - { key: Up, mods: Alt, chars: "\x1b[1;3A" } # - { key: Up, chars: "\x1b[A", mode: ~AppCursor } # - { key: Up, chars: "\x1bOA", mode: AppCursor } # - { key: Down, mods: Shift, chars: "\x1b[1;2B" } # - { key: Down, mods: Control, chars: "\x1b[1;5B" } # - { key: Down, mods: Alt, chars: "\x1b[1;3B" } # - { key: Down, chars: "\x1b[B", mode: ~AppCursor } # - { key: Down, chars: "\x1bOB", mode: AppCursor } # - { key: Tab, mods: Shift, chars: "\x1b[Z" } # - { key: F1, chars: "\x1bOP" } # - { key: F2, chars: "\x1bOQ" } # - { key: F3, chars: "\x1bOR" } # - { key: F4, chars: "\x1bOS" } # - { key: F5, chars: "\x1b[15~" } # - { key: F6, chars: "\x1b[17~" } # - { key: F7, chars: "\x1b[18~" } # - { key: F8, chars: "\x1b[19~" } # - { key: F9, chars: "\x1b[20~" } # - { key: F10, chars: "\x1b[21~" } # - { key: F11, chars: "\x1b[23~" } # - { key: F12, chars: "\x1b[24~" } # - { key: Back, chars: "\x7f" } # - { key: Back, mods: Alt, chars: "\x1b\x7f" } # - { key: Insert, chars: "\x1b[2~" } # - { key: Delete, chars: "\x1b[3~" } # # shortcuts for tmux. the leader key is control-b (0x02) # - { key: W, mods: Command, chars: "\x02&" } # close tab (kill) # - { key: T, mods: Command, chars: "\x02c" } # new tab # - { key: RBracket, mods: Command|Shift, chars: "\x02n" } # select next tab # - { key: LBracket, mods: Command|Shift, chars: "\x02p" } # select previous tab # - { key: RBracket, mods: Command, chars: "\x02o" } # select next pane # - { key: LBracket, mods: Command, chars: "\x02;" } # select last (previously used) pane # - { key: F, mods: Command, chars: "\x02/" } # search (upwards) (see tmux.conf) # mouse: # # Click settings # # # # The `double_click` and `triple_click` settings control the time # # alacritty should wait for accepting multiple clicks as one double # # or triple click. # double_click: { threshold: 300 } # triple_click: { threshold: 300 } # # If this is `true`, the cursor is temporarily hidden when typing. # hide_when_typing: true # # URL launcher # # url: # # This program is executed when clicking on a text which is recognized as a URL. # # The URL is always added to the command as the last parameter. # # # # When set to `None`, URL launching will be disabled completely. # # # # Default: # # - (macOS) open # # - (Linux) xdg-open # # - (Windows) explorer # # launcher: # # program: xdg-open # # args: [] # # These are the modifiers that need to be held down for opening URLs when clicking # # on them. The available modifiers are documented in the key binding section. # # modifiers: Control|Shift # selection: # semantic_escape_chars: ",│`|:\"' ()[]{}<>" # # When set to `true`, selected text will be copied to the primary clipboard. # save_to_clipboard: false # # Mouse bindings # # # # Available fields: # # - mouse # # - action # # - mods (optional) # # # # Values for `mouse`: # # - Middle # # - Left # # - Right # # - Numeric identifier such as `5` # # # # All available `mods` and `action` values are documented in the key binding # # section. # mouse_bindings: # - { mouse: Middle, action: PasteSelection } # cursor: # # Cursor style # # # # Values for 'style': # # - ▇ Block # # - _ Underline # # - | Beam # style: Block # # If this is `true`, the cursor will be rendered as a hollow box when the # # window is not focused. # unfocused_hollow: true # # dynamic_title: false # # Live config reload (changes require restart) # live_config_reload: true # debug: # # Should display the render timer # render_timer: false # # Keep the log file after quitting Alacritty. # persistent_logging: false # # Log level # # # # Values for `log_level`: # # - OFF # # - ERROR # # - WARN # # - INFO # # - DEBUG # # - TRACE # log_level: OFF # # Print all received window events. # print_events: false # # Record all characters and escape sequences as test data. # ref_test: false # # Shell # # # # You can set shell.program to the path of your favorite shell, e.g. /bin/fish. # # Entries in shell.args are passed unmodified as arguments to the shell. # shell: # program: /usr/local/bin/fish # args: # - --command=tmux # # vim: nospell