diff --git a/alacritty.yml b/alacritty.yml index b4cf33f..5bb1e2a 100644 --- a/alacritty.yml +++ b/alacritty.yml @@ -1,5 +1,13 @@ # Configuration for Alacritty, the GPU enhanced terminal emulator. +# Import additional configuration files +# +# These configuration files will be loaded in order, replacing values in files +# loaded earlier with those loaded later in the chain. The file itself will +# always be loaded last. +#import: +# - /path/to/alacritty.yml + # Any items in the `env` entry below will be added as # environment variables. Some entries may override variables # set by alacritty itself. @@ -15,8 +23,9 @@ env: window: # Window dimensions (changes require restart) # - # Specified in number of columns/lines, not pixels. - # If both are `0`, this setting is ignored. + # Number of lines/columns (not pixels) in the terminal. The number of columns + # must be at least `2`, while using a value of `0` for columns and lines will + # fall back to the window manager's recommended size. dimensions: columns: 80 lines: 24 @@ -48,7 +57,7 @@ window: # # Values for `decorations` (macOS only): # - transparent: Title bar, transparent background and title bar buttons - # - buttonless: Title bar, transparent background, but no title bar buttons + # - buttonless: Title bar, transparent background and no title bar buttons #decorations: full # Startup Mode (changes require restart) @@ -77,8 +86,8 @@ window: # GTK theme variant (Linux/BSD only) # - # Override the variant of the GTK theme. Commonly supported values are `dark` and `light`. - # Set this to `None` to use the default theme variant. + # Override the variant of the GTK theme. Commonly supported values are `dark` + # and `light`. Set this to `None` to use the default theme variant. #gtk_theme_variant: None scrolling: @@ -140,15 +149,16 @@ font: # Point size #size: 11.0 - # Offset is the extra space around each character. `offset.y` can be thought of - # as modifying the line spacing, and `offset.x` as modifying the letter spacing. + # Offset is the extra space around each character. `offset.y` can be thought + # of as modifying the line spacing, 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. Increasing `x` moves the glyph to the right, - # increasing `y` moves the glyph upward. + # the default being at the bottom. Increasing `x` moves the glyph to the + # right, increasing `y` moves the glyph upward. #glyph_offset: # x: 0 # y: 0 @@ -171,9 +181,10 @@ colors: # Bright and dim foreground colors # - # The dimmed foreground color is calculated automatically if it is not present. - # If the bright foreground color is not set, or `draw_bold_text_with_bright_colors` - # is `false`, the normal foreground color will be used. + # The dimmed foreground color is calculated automatically if it is not + # present. If the bright foreground color is not set, or + # `draw_bold_text_with_bright_colors` is `false`, the normal foreground + # color will be used. #dim_foreground: '#828482' #bright_foreground: '#eaeaea' @@ -216,6 +227,9 @@ colors: #matches: # foreground: '#000000' # background: '#ffffff' + #focused_match: + # foreground: CellBackground + # background: CellForeground #bar: # background: '#c5c8c6' @@ -288,8 +302,8 @@ colors: # - Linear #animation: EaseOutExpo - # Duration of the visual bell flash. A `duration` of `0` will disable the - # visual bell animation. + # Duration of the visual bell flash in milliseconds. A `duration` of `0` will + # disable the visual bell animation. #duration: 0 # Visual bell animation color. @@ -315,6 +329,8 @@ colors: #background_opacity: 1.0 #selection: + # This string contains all characters that are used as separators for + # "semantic words" in Alacritty. #semantic_escape_chars: ",│`|:\"' ()[]{}<>\t" # When set to `true`, selected text will be copied to the primary clipboard. @@ -350,8 +366,9 @@ live_config_reload: 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. +# 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. # # Default: # - (macOS) /bin/bash --login @@ -396,8 +413,8 @@ mouse: url: # URL launcher # - # 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. + # 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 `launcher: None`, URL launching will be disabled completely. # @@ -411,8 +428,9 @@ mouse: # URL modifiers # - # 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. + # 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 # Mouse bindings @@ -420,8 +438,9 @@ mouse: # Mouse bindings are specified as a list of objects, much like the key # bindings further below. # -# To trigger mouse bindings when an application running within Alacritty captures the mouse, the -# `Shift` modifier is automatically added as a requirement. +# To trigger mouse bindings when an application running within Alacritty +# captures the mouse, the `Shift` modifier is automatically added as a +# requirement. # # Each mouse binding will specify a: # @@ -480,10 +499,11 @@ mouse: # # - ToggleViMode # - SearchForward +# Start searching toward the right of the search origin. # - SearchBackward +# Start searching toward the left of the search origin. # - Copy # - Paste -# - PasteSelection # - IncreaseFontSize # - DecreaseFontSize # - ResetFontSize @@ -496,51 +516,94 @@ mouse: # - ScrollToTop # - ScrollToBottom # - ClearHistory +# Remove the terminal's scrollback history. # - Hide +# Hide the Alacritty window. # - Minimize +# Minimize the Alacritty window. # - Quit +# Quit Alacritty. # - ToggleFullscreen # - SpawnNewInstance +# Spawn a new instance of Alacritty. # - ClearLogNotice +# Clear Alacritty's UI warning and error notice. # - ClearSelection +# Remove the active selection. # - ReceiveChar # - None # -# (`mode: Vi` only): +# - Vi mode exclusive actions: +# # - Open -# - Up -# - Down -# - Left -# - Right -# - First -# - Last -# - FirstOccupied -# - High -# - Middle -# - Low -# - SemanticLeft -# - SemanticRight -# - SemanticLeftEnd -# - SemanticRightEnd -# - WordRight -# - WordLeft -# - WordRightEnd -# - WordLeftEnd -# - Bracket +# Open URLs at the cursor location with the launcher configured in +# `url.launcher`. # - ToggleNormalSelection # - ToggleLineSelection # - ToggleBlockSelection # - ToggleSemanticSelection +# Toggle semantic selection based on `selection.semantic_escape_chars`. +# +# - Vi mode exclusive cursor motion actions: +# +# - Up +# One line up. +# - Down +# One line down. +# - Left +# One character left. +# - Right +# One character right. +# - First +# First column, or beginning of the line when already at the first column. +# - Last +# Last column, or beginning of the line when already at the last column. +# - FirstOccupied +# First non-empty cell in this terminal row, or first non-empty cell of +# the line when already at the first cell of the row. +# - High +# Top of the screen. +# - Middle +# Center of the screen. +# - Low +# Bottom of the screen. +# - SemanticLeft +# Start of the previous semantically separated word. +# - SemanticRight +# Start of the next semantically separated word. +# - SemanticLeftEnd +# End of the previous semantically separated word. +# - SemanticRightEnd +# End of the next semantically separated word. +# - WordLeft +# Start of the previous whitespace separated word. +# - WordRight +# Start of the next whitespace separated word. +# - WordLeftEnd +# End of the previous whitespace separated word. +# - WordRightEnd +# End of the next whitespace separated word. +# - Bracket +# Character matching the bracket at the cursor's location. # - SearchNext +# Beginning of the next match. # - SearchPrevious +# Beginning of the previous match. # - SearchStart +# Start of the match to the left of the vi mode cursor. # - SearchEnd +# End of the match to the right of the vi mode cursor. # -# (macOS only): -# - ToggleSimpleFullscreen: Enters fullscreen without occupying another space +# - macOS exclusive actions: +# - ToggleSimpleFullscreen +# Enter fullscreen without occupying another space. # -# (Linux/BSD only): -# - CopySelection: Copies into selection buffer +# - Linux/BSD exclusive actions: +# +# - CopySelection +# Copy from the selection buffer. +# - PasteSelection +# Paste from the selection buffer. # # - `command`: Fork and execute a specified command plus arguments # @@ -571,6 +634,7 @@ mouse: # - AppCursor # - AppKeypad # - Alt +# - Vi # # A `~` operator can be used before a mode to apply the binding whenever # the mode is *not* active, e.g. `~Alt`. @@ -598,6 +662,7 @@ key_bindings: #- { key: Escape, mode: Vi, action: ClearSelection } #- { key: I, mode: Vi, action: ScrollToBottom } #- { key: I, mode: Vi, action: ToggleViMode } + #- { key: C, mods: Control, mode: Vi, action: ToggleViMode } #- { key: Y, mods: Control, mode: Vi, action: ScrollLineUp } #- { key: E, mods: Control, mode: Vi, action: ScrollLineDown } #- { key: G, mode: Vi, action: ScrollToTop } @@ -641,39 +706,42 @@ key_bindings: #- { key: N, mods: Shift, mode: Vi, action: SearchPrevious } # (Windows, Linux, and BSD only) - #- { key: V, mods: Control|Shift, action: Paste } - #- { key: C, mods: Control|Shift, action: Copy } - #- { key: F, mods: Control|Shift, action: SearchForward } - #- { key: B, mods: Control|Shift, action: SearchBackward } - #- { key: C, mods: Control|Shift, mode: Vi, action: ClearSelection } - #- { key: Insert, mods: Shift, action: PasteSelection } - #- { key: Key0, mods: Control, action: ResetFontSize } - #- { key: Equals, mods: Control, action: IncreaseFontSize } - #- { key: Add, mods: Control, action: IncreaseFontSize } - #- { key: Subtract, mods: Control, action: DecreaseFontSize } - #- { key: Minus, mods: Control, action: DecreaseFontSize } + #- { key: V, mods: Control|Shift, action: Paste } + #- { key: C, mods: Control|Shift, action: Copy } + #- { key: F, mods: Control|Shift, action: SearchForward } + #- { key: B, mods: Control|Shift, action: SearchBackward } + #- { key: C, mods: Control|Shift, mode: Vi, action: ClearSelection } + #- { key: Insert, mods: Shift, action: PasteSelection } + #- { key: Key0, mods: Control, action: ResetFontSize } + #- { key: Equals, mods: Control, action: IncreaseFontSize } + #- { key: Plus, mods: Control, action: IncreaseFontSize } + #- { key: NumpadAdd, mods: Control, action: IncreaseFontSize } + #- { key: Minus, mods: Control, action: DecreaseFontSize } + #- { key: NumpadSubtract, mods: Control, action: DecreaseFontSize } # (Windows only) #- { key: Return, mods: Alt, action: ToggleFullscreen } # (macOS only) - #- { key: K, mods: Command, mode: ~Vi, chars: "\x0c" } - #- { key: Key0, mods: Command, action: ResetFontSize } - #- { key: Equals, mods: Command, action: IncreaseFontSize } - #- { key: Add, mods: Command, action: IncreaseFontSize } - #- { key: Minus, mods: Command, action: DecreaseFontSize } - #- { key: K, mods: Command, action: ClearHistory } - #- { key: V, mods: Command, action: Paste } - #- { key: C, mods: Command, action: Copy } - #- { key: C, mods: Command, mode: Vi, action: ClearSelection } - #- { key: H, mods: Command, action: Hide } - #- { key: M, mods: Command, action: Minimize } - #- { key: Q, mods: Command, action: Quit } - #- { key: W, mods: Command, action: Quit } - #- { key: N, mods: Command, action: SpawnNewInstance } - #- { key: F, mods: Command|Control, action: ToggleFullscreen } - #- { key: F, mods: Command, action: SearchForward } - #- { key: B, mods: Command, action: SearchBackward } + #- { key: K, mods: Command, mode: ~Vi, chars: "\x0c" } + #- { key: Key0, mods: Command, action: ResetFontSize } + #- { key: Equals, mods: Command, action: IncreaseFontSize } + #- { key: Plus, mods: Command, action: IncreaseFontSize } + #- { key: NumpadAdd, mods: Command, action: IncreaseFontSize } + #- { key: Minus, mods: Command, action: DecreaseFontSize } + #- { key: NumpadSubtract, mods: Command, action: DecreaseFontSize } + #- { key: K, mods: Command, action: ClearHistory } + #- { key: V, mods: Command, action: Paste } + #- { key: C, mods: Command, action: Copy } + #- { key: C, mods: Command, mode: Vi, action: ClearSelection } + #- { key: H, mods: Command, action: Hide } + #- { key: M, mods: Command, action: Minimize } + #- { key: Q, mods: Command, action: Quit } + #- { key: W, mods: Command, action: Quit } + #- { key: N, mods: Command, action: SpawnNewInstance } + #- { key: F, mods: Command|Control, action: ToggleFullscreen } + #- { key: F, mods: Command, action: SearchForward } + #- { key: B, mods: Command, action: SearchBackward } # Custom - { key: F11, action: ToggleFullscreen }