From 44d44c7524df4ebcf056cb71bc7705394e4d7d40 Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Mon, 30 Aug 2021 22:46:09 +0100 Subject: [PATCH] chore(alacritty): update config file for Alacritty 0.9.x --- alacritty.yml | 788 +++++++++++++++++++++++++++++++------------------- 1 file changed, 498 insertions(+), 290 deletions(-) diff --git a/alacritty.yml b/alacritty.yml index f6277d9..986b5cd 100644 --- a/alacritty.yml +++ b/alacritty.yml @@ -1,5 +1,16 @@ # Configuration for Alacritty, the GPU enhanced terminal emulator. +# Import additional configuration files +# +# Imports are loaded in order, skipping all missing files, with the importing +# file being loaded last. If a field is already present in a previous import, it +# will be replaced. +# +# All imports must either be absolute paths starting with `/`, or paths relative +# to the user's home directory starting with `~/`. +#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 +26,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,9 +60,14 @@ 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 + # Background opacity + # + # Window opacity as a floating point number from `0.0` to `1.0`. + # The value `0.0` is completely transparent and `1.0` is opaque. + #opacity: 1.0 # Startup Mode (changes require restart) # # Values for `startup_mode`: @@ -61,21 +78,20 @@ window: # Values for `startup_mode` (macOS only): # - SimpleFullscreen #startup_mode: Windowed - # Window title #title: Alacritty - + # Allow terminal applications to change Alacritty's window title. + #dynamic_title: true # Window class (Linux/BSD only): #class: - # Application instance name - #instance: Alacritty - # General application class - #general: Alacritty - + # Application instance name + #instance: Alacritty + # General application class + #general: Alacritty # 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: @@ -103,49 +119,50 @@ font: # Bold font face #bold: - # Font family - # - # If the bold family is not specified, it will fall back to the - # value specified for the normal font. - #family: monospace + # Font family + # + # If the bold family is not specified, it will fall back to the + # value specified for the normal font. + #family: monospace - # The `style` can be specified to pick a specific face. - #style: Bold + # The `style` can be specified to pick a specific face. + #style: Bold # Italic font face #italic: - # Font family - # - # If the italic family is not specified, it will fall back to the - # value specified for the normal font. - #family: monospace + # Font family + # + # If the italic family is not specified, it will fall back to the + # value specified for the normal font. + #family: monospace - # The `style` can be specified to pick a specific face. - #style: Italic + # The `style` can be specified to pick a specific face. + #style: Italic # Bold italic font face #bold_italic: - # Font family - # - # If the bold italic family is not specified, it will fall back to the - # value specified for the normal font. - #family: monospace + # Font family + # + # If the bold italic family is not specified, it will fall back to the + # value specified for the normal font. + #family: monospace - # The `style` can be specified to pick a specific face. - #style: Bold Italic + # The `style` can be specified to pick a specific face. + #style: Bold Italic # Point size size: 12.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 upwards. + # 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 @@ -157,83 +174,134 @@ font: #use_thin_strokes: true # If `true`, bold text is drawn using the bright color variants. -draw_bold_text_with_bright_colors: true +#draw_bold_text_with_bright_colors: false -# Colors (Tomorrow Night Bright) +# Colors (Tomorrow Night) colors: # Default colors primary: - background: "0x000000" - foreground: "0xffffff" + background: "#000000" + foreground: "#ffffff" # 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. - #dim_foreground: '0x9a9a9a' - #bright_foreground: '0xffffff' + # 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' # Cursor colors # - # Colors which should be used to draw the terminal cursor. If these are - # unset, the cursor color will be the inverse of the cell color. + # Colors which should be used to draw the terminal cursor. + # + # Allowed values are CellForeground/CellBackground, which reference the + # affected cell, or hexadecimal colors like #ff00ff. #cursor: - # text: '0x000000' - # cursor: '0xffffff' + # text: CellBackground + # cursor: CellForeground # Vi mode cursor colors # - # Colors for the cursor when the vi mode is active. If these are unset, the - # cursor color will be the inverse of the cell color. + # Colors for the cursor when the vi mode is active. + # + # Allowed values are CellForeground/CellBackground, which reference the + # affected cell, or hexadecimal colors like #ff00ff. #vi_mode_cursor: - # text: '#000000' - # cursor: '#ffffff' + # text: CellBackground + # cursor: CellForeground + + # Search colors + # + # Colors used for the search bar and match highlighting. + #search: + # Allowed values are CellForeground/CellBackground, which reference the + # affected cell, or hexadecimal colors like #ff00ff. + #matches: + # foreground: '#000000' + # background: '#ffffff' + #focused_match: + # foreground: '#ffffff' + # background: '#000000' + + #bar: + # background: '#c5c8c6' + # foreground: '#1d1f21' + + # Keyboard regex hints + #hints: + # First character in the hint label + # + # Allowed values are CellForeground/CellBackground, which reference the + # affected cell, or hexadecimal colors like #ff00ff. + #start: + # foreground: '#1d1f21' + # background: '#e9ff5e' + + # All characters after the first one in the hint label + # + # Allowed values are CellForeground/CellBackground, which reference the + # affected cell, or hexadecimal colors like #ff00ff. + #end: + # foreground: '#e9ff5e' + # background: '#1d1f21' + + # Line indicator + # + # Color used for the indicator displaying the position in history during + # search and vi mode. + # + # By default, these will use the opposing primary color. + #line_indicator: + # foreground: None + # background: None # Selection colors # - # Colors which should be used to draw the selection area. If selection - # background is unset, selection color will be the inverse of the cell colors. - # If only text is unset the cell text color will remain the same. + # Colors which should be used to draw the selection area. + # + # Allowed values are CellForeground/CellBackground, which reference the + # affected cell, or hexadecimal colors like #ff00ff. selection: - text: "0xc1ddff" - background: "0x000000" + text: "#c1ddff" + background: "#000000" # Normal colors normal: - black: "0x000000" - red: "0xcf5041" - green: "0x8bba48" - yellow: "0xc3a643" - blue: "0x37689f" - magenta: "0x9b589d" - cyan: "0x69b8cb" - white: "0xcccccc" + black: "#000000" + red: "#cf5041" + green: "#8bba48" + yellow: "#c3a643" + blue: "#37689f" + magenta: "#9b589d" + cyan: "#69b8cb" + white: "#cccccc" # Bright colors bright: - black: "0x686a66" - red: "0xed3a2c" - green: "0x96cf4d" - yellow: "0xfdeb61" - blue: "0x5696d5" - magenta: "0x9d6aa5" - cyan: "0x75cee3" - white: "0xf5f5f5" + black: "#686a66" + red: "#ed3a2c" + green: "#96cf4d" + yellow: "#fdeb61" + blue: "#5696d5" + magenta: "#9d6aa5" + cyan: "#75cee3" + white: "#f5f5f5" # Dim colors # # If the dim colors are not set, they will be calculated automatically based # on the `normal` colors. dim: - black: "0x333333" - red: "0xf2777a" - green: "0x99cc99" - yellow: "0xffcc66" - blue: "0x6699cc" - magenta: "0xcc99cc" - cyan: "0x66cccc" - white: "0xdddddd" + black: "#333333" + red: "#f2777a" + green: "#99cc99" + yellow: "#ffcc66" + blue: "#6699cc" + magenta: "#cc99cc" + cyan: "#66cccc" + white: "#dddddd" # Indexed Colors # @@ -243,15 +311,21 @@ colors: # Example: # `- { index: 16, color: '#ff00ff' }` # - indexed_colors: [] + #indexed_colors: [] + # Transparent cell backgrounds + # + # Whether or not `window.opacity` applies to all cell backgrounds or only to + # the default background. When set to `true` all cells will be transparent + # regardless of their background color. + #transparent_background_colors: false -# Visual Bell +# 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. +# The bell is rung every time the BEL control character is received. +#bell: +# Visual Bell Animation +# +# Animation effect for flashing the screen when the visual bell is rung. # # Values for `animation`: # - Ease @@ -264,60 +338,83 @@ colors: # - EaseOutExpo # - EaseOutCirc # - Linear -# -# Specifying a `duration` of `0` will disable the visual bell. -visual_bell: - animation: EaseOutExpo - duration: 0 - color: "0xffffff" +#animation: EaseOutExpo -# Background opacity +# Duration of the visual bell flash in milliseconds. A `duration` of `0` will +# disable the visual bell animation. +#duration: 0 + +# Visual bell animation color. +#color: '#ffffff' + +# Bell Command # -# Window opacity as a floating point number from `0.0` to `1.0`. -# The value `0.0` is completely transparent and `1.0` is opaque. -background_opacity: 1.0 +# This program is executed whenever the bell is rung. +# +# When set to `command: None`, no command will be executed. +# +# Example: +# command: +# program: notify-send +# args: ["Hello, World!"] +# +#command: None #selection: - #semantic_escape_chars: ",│`|:\"' ()[]{}<>\t" +# 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. - #save_to_clipboard: false - -# Allow terminal applications to change Alacritty's window title. -#dynamic_title: true +# When set to `true`, selected text will be copied to the primary clipboard. +#save_to_clipboard: false #cursor: - # Cursor style - # - # Values for `style`: - # - ▇ Block - # - _ Underline - # - | Beam - #style: Block +# Cursor style +#style: +# Cursor shape +# +# Values for `shape`: +# - ▇ Block +# - _ Underline +# - | Beam +#shape: Block - # Vi mode cursor style - # - # If the vi mode cursor style is `None` or not specified, it will fall back to - # the style of the active value of the normal cursor. - # - # See `cursor.style` for available options. - #vi_mode_style: None +# Cursor blinking state +# +# Values for `blinking`: +# - Never: Prevent the cursor from ever blinking +# - Off: Disable blinking by default +# - On: Enable blinking by default +# - Always: Force the cursor to always blink +#blinking: Off - # If this is `true`, the cursor will be rendered as a hollow box when the - # window is not focused. - #unfocused_hollow: true +# Vi mode cursor style +# +# If the vi mode cursor style is `None` or not specified, it will fall back to +# the style of the active value of the normal cursor. +# +# See `cursor.style` for available options. +#vi_mode_style: None - # Thickness of the cursor relative to the cell width as floating point number - # from `0.0` to `1.0`. - #thickness: 0.15 +# Cursor blinking interval in milliseconds. +#blink_interval: 750 + +# If this is `true`, the cursor will be rendered as a hollow box when the +# window is not focused. +#unfocused_hollow: true + +# Thickness of the cursor relative to the cell width as floating point number +# from `0.0` to `1.0`. +#thickness: 0.15 # Live config reload (changes require restart) #live_config_reload: true # 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 @@ -334,60 +431,73 @@ background_opacity: 1.0 # directory of the parent process will be used. #working_directory: None -# WinPTY backend (Windows only) -# -# Alacritty defaults to using the newer ConPTY backend if it is available, -# since it resolves a lot of bugs and is quite a bit faster. If it is not -# available, the the WinPTY backend will be used instead. -# -# Setting this option to `true` makes Alacritty use the legacy WinPTY backend, -# even if the ConPTY backend is available. -#winpty_backend: false - # Send ESC (\x1b) before characters when alt is pressed. #alt_send_esc: true #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 } +# 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: false +# If this is `true`, the cursor is temporarily hidden when typing. +#hide_when_typing: false - #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. - # - # When set to `launcher: None`, URL launching will be disabled completely. - # - # Default: - # - (macOS) open - # - (Linux/BSD) xdg-open - # - (Windows) explorer - #launcher: - # program: xdg-open - # args: [] +# Regex hints +# +# Terminal hints can be used to find text in the visible part of the terminal +# and pipe it to other applications. +#hints: +# Keys used for the hint labels. +#alphabet: "jfkdls;ahgurieowpq" - # 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. - #modifiers: None +# List with all available hints +# +# Each hint must have a `regex` and either an `action` or a `command` field. +# The fields `mouse`, `binding` and `post_processing` are optional. +# +# The fields `command`, `binding.key`, `binding.mods`, `binding.mode` and +# `mouse.mods` accept the same values as they do in the `key_bindings` section. +# +# The `mouse.enabled` field controls if the hint should be underlined while +# the mouse with all `mouse.mods` keys held or the vi mode cursor is above it. +# +# If the `post_processing` field is set to `true`, heuristics will be used to +# shorten the match if there are characters likely not to be part of the hint +# (e.g. a trailing `.`). This is most useful for URIs. +# +# Values for `action`: +# - Copy +# Copy the hint's text to the clipboard. +# - Paste +# Paste the hint's text to the terminal or search. +# - Select +# Select the hint's text. +# - MoveViModeCursor +# Move the vi mode cursor to the beginning of the hint. +#enabled: +# - regex: "(ipfs:|ipns:|magnet:|mailto:|gemini:|gopher:|https:|http:|news:|file:|git:|ssh:|ftp:)\ +# [^\u0000-\u001F\u007F-\u009F<>\"\\s{-}\\^⟨⟩`]+" +# command: xdg-open +# post_processing: true +# mouse: +# enabled: true +# mods: None +# binding: +# key: U +# mods: Control|Shift # Mouse bindings # # 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: # @@ -398,13 +508,19 @@ background_opacity: 1.0 # - Right # - Numeric identifier such as `5` # -# - `action` (see key bindings) +# - `action` (see key bindings for actions not exclusive to mouse mode) +# +# - Mouse exclusive actions: +# +# - ExpandSelection +# Expand the selection to the current mouse cursor location. # # And optionally: # # - `mods` (see key bindings) mouse_bindings: - - { mouse: Middle, action: PasteSelection } + - { mouse: Middle, mode: ~Vi, action: PasteSelection } + # - { mouse: Right, action: ExpandSelection } # Key bindings # @@ -445,9 +561,12 @@ mouse_bindings: # - `action`: Execute a predefined action # # - 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 @@ -460,47 +579,110 @@ mouse_bindings: # - 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 +# Perform the action of the first matching hint under the vi mode cursor +# with `mouse.enabled` set to `true`. # - ToggleNormalSelection # - ToggleLineSelection # - ToggleBlockSelection # - ToggleSemanticSelection +# Toggle semantic selection based on `selection.semantic_escape_chars`. # -# (macOS only): -# - ToggleSimpleFullscreen: Enters fullscreen without occupying another space +# - Vi mode exclusive cursor motion actions: # -# (Linux/BSD only): -# - CopySelection: Copies into selection buffer +# - 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. +# +# - Search mode exclusive actions: +# - SearchFocusNext +# Move the focus to the next search match. +# - SearchFocusPrevious +# Move the focus to the previous search match. +# - SearchConfirm +# - SearchCancel +# - SearchClear +# Reset the search regex. +# - SearchDeleteWord +# Delete the last word in the search regex. +# - SearchHistoryPrevious +# Go to the previous regex in the search history. +# - SearchHistoryNext +# Go to the next regex in the search history. +# +# - macOS exclusive actions: +# - ToggleSimpleFullscreen +# Enter fullscreen without occupying another space. +# +# - 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 # @@ -530,7 +712,9 @@ mouse_bindings: # # - AppCursor # - AppKeypad +# - Search # - Alt +# - Vi # # A `~` operator can be used before a mode to apply the binding whenever # the mode is *not* active, e.g. `~Alt`. @@ -541,111 +725,135 @@ mouse_bindings: # a no-op if you do not wish to receive input characters for that binding. # # If the same trigger is assigned to multiple actions, all of them are executed -# at once. +# in the order they were defined in. key_bindings: - - { key: Paste, action: Paste } - - { key: Copy, action: Copy } - - { key: L, mods: Control, action: ClearLogNotice } - # - { key: L, mods: Control, mode: ~Vi, chars: "\x0c" } - - { key: PageUp, mods: Shift, mode: ~Alt, action: ScrollPageUp, } - - { key: PageDown, mods: Shift, mode: ~Alt, action: ScrollPageDown } - - { key: Home, mods: Shift, mode: ~Alt, action: ScrollToTop, } - - { key: End, mods: Shift, mode: ~Alt, action: ScrollToBottom } + - { key: Paste, action: Paste } + - { key: Copy, action: Copy } + - { key: L, mods: Control, action: ClearLogNotice } + #- { key: L, mods: Control, mode: ~Vi|~Search, chars: "\x0c" } + - { key: PageUp, mods: Shift, mode: ~Alt, action: ScrollPageUp } + - { key: PageDown, mods: Shift, mode: ~Alt, action: ScrollPageDown } + - { key: Home, mods: Shift, mode: ~Alt, action: ScrollToTop } + - { key: End, mods: Shift, mode: ~Alt, action: ScrollToBottom } # Vi Mode - #- { key: Space, mods: Shift|Control, mode: Vi, action: ScrollToBottom } - #- { key: Space, mods: Shift|Control, action: ToggleViMode } - #- { key: Escape, mode: Vi, action: ClearSelection } - #- { key: I, mode: Vi, action: ScrollToBottom } - #- { key: I, 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 } - #- { key: G, mods: Shift, mode: Vi, action: ScrollToBottom } - #- { key: B, mods: Control, mode: Vi, action: ScrollPageUp } - #- { key: F, mods: Control, mode: Vi, action: ScrollPageDown } - #- { key: U, mods: Control, mode: Vi, action: ScrollHalfPageUp } - #- { key: D, mods: Control, mode: Vi, action: ScrollHalfPageDown } - #- { key: Y, mode: Vi, action: Copy } - #- { key: Y, mode: Vi, action: ClearSelection } - #- { key: Copy, mode: Vi, action: ClearSelection } - #- { key: V, mode: Vi, action: ToggleNormalSelection } - #- { key: V, mods: Shift, mode: Vi, action: ToggleLineSelection } - #- { key: V, mods: Control, mode: Vi, action: ToggleBlockSelection } - #- { key: V, mods: Alt, mode: Vi, action: ToggleSemanticSelection } - #- { key: Return, mode: Vi, action: Open } - #- { key: K, mode: Vi, action: Up } - #- { key: J, mode: Vi, action: Down } - #- { key: H, mode: Vi, action: Left } - #- { key: L, mode: Vi, action: Right } - #- { key: Up, mode: Vi, action: Up } - #- { key: Down, mode: Vi, action: Down } - #- { key: Left, mode: Vi, action: Left } - #- { key: Right, mode: Vi, action: Right } - #- { key: Key0, mode: Vi, action: First } - #- { key: Key4, mods: Shift, mode: Vi, action: Last } - #- { key: Key6, mods: Shift, mode: Vi, action: FirstOccupied } - #- { key: H, mods: Shift, mode: Vi, action: High } - #- { key: M, mods: Shift, mode: Vi, action: Middle } - #- { key: L, mods: Shift, mode: Vi, action: Low } - #- { key: B, mode: Vi, action: SemanticLeft } - #- { key: W, mode: Vi, action: SemanticRight } - #- { key: E, mode: Vi, action: SemanticRightEnd } - #- { key: B, mods: Shift, mode: Vi, action: WordLeft } - #- { key: W, mods: Shift, mode: Vi, action: WordRight } - #- { key: E, mods: Shift, mode: Vi, action: WordRightEnd } - #- { key: Key5, mods: Shift, mode: Vi, action: Bracket } + #- { key: Space, mods: Shift|Control, mode: ~Search, action: ToggleViMode } + #- { key: Space, mods: Shift|Control, mode: Vi|~Search, action: ScrollToBottom } + #- { key: Escape, mode: Vi|~Search, action: ClearSelection } + #- { key: I, mode: Vi|~Search, action: ToggleViMode } + #- { key: I, mode: Vi|~Search, action: ScrollToBottom } + #- { key: C, mods: Control, mode: Vi|~Search, action: ToggleViMode } + #- { key: Y, mods: Control, mode: Vi|~Search, action: ScrollLineUp } + #- { key: E, mods: Control, mode: Vi|~Search, action: ScrollLineDown } + #- { key: G, mode: Vi|~Search, action: ScrollToTop } + #- { key: G, mods: Shift, mode: Vi|~Search, action: ScrollToBottom } + #- { key: B, mods: Control, mode: Vi|~Search, action: ScrollPageUp } + #- { key: F, mods: Control, mode: Vi|~Search, action: ScrollPageDown } + #- { key: U, mods: Control, mode: Vi|~Search, action: ScrollHalfPageUp } + #- { key: D, mods: Control, mode: Vi|~Search, action: ScrollHalfPageDown } + #- { key: Y, mode: Vi|~Search, action: Copy } + #- { key: Y, mode: Vi|~Search, action: ClearSelection } + #- { key: Copy, mode: Vi|~Search, action: ClearSelection } + #- { key: V, mode: Vi|~Search, action: ToggleNormalSelection } + #- { key: V, mods: Shift, mode: Vi|~Search, action: ToggleLineSelection } + #- { key: V, mods: Control, mode: Vi|~Search, action: ToggleBlockSelection } + #- { key: V, mods: Alt, mode: Vi|~Search, action: ToggleSemanticSelection } + #- { key: Return, mode: Vi|~Search, action: Open } + #- { key: K, mode: Vi|~Search, action: Up } + #- { key: J, mode: Vi|~Search, action: Down } + #- { key: H, mode: Vi|~Search, action: Left } + #- { key: L, mode: Vi|~Search, action: Right } + #- { key: Up, mode: Vi|~Search, action: Up } + #- { key: Down, mode: Vi|~Search, action: Down } + #- { key: Left, mode: Vi|~Search, action: Left } + #- { key: Right, mode: Vi|~Search, action: Right } + #- { key: Key0, mode: Vi|~Search, action: First } + #- { key: Key4, mods: Shift, mode: Vi|~Search, action: Last } + #- { key: Key6, mods: Shift, mode: Vi|~Search, action: FirstOccupied } + #- { key: H, mods: Shift, mode: Vi|~Search, action: High } + #- { key: M, mods: Shift, mode: Vi|~Search, action: Middle } + #- { key: L, mods: Shift, mode: Vi|~Search, action: Low } + #- { key: B, mode: Vi|~Search, action: SemanticLeft } + #- { key: W, mode: Vi|~Search, action: SemanticRight } + #- { key: E, mode: Vi|~Search, action: SemanticRightEnd } + #- { key: B, mods: Shift, mode: Vi|~Search, action: WordLeft } + #- { key: W, mods: Shift, mode: Vi|~Search, action: WordRight } + #- { key: E, mods: Shift, mode: Vi|~Search, action: WordRightEnd } + #- { key: Key5, mods: Shift, mode: Vi|~Search, action: Bracket } + #- { key: Slash, mode: Vi|~Search, action: SearchForward } + #- { key: Slash, mods: Shift, mode: Vi|~Search, action: SearchBackward } + #- { key: N, mode: Vi|~Search, action: SearchNext } + #- { key: N, mods: Shift, mode: Vi|~Search, action: SearchPrevious } + + # Search Mode + - { key: Return, mode: Search|Vi, action: SearchConfirm } + - { key: Escape, mode: Search, action: SearchCancel } + - { key: C, mods: Control, mode: Search, action: SearchCancel } + - { key: U, mods: Control, mode: Search, action: SearchClear } + - { key: W, mods: Control, mode: Search, action: SearchDeleteWord } + - { key: P, mods: Control, mode: Search, action: SearchHistoryPrevious } + - { key: N, mods: Control, mode: Search, action: SearchHistoryNext } + - { key: Up, mode: Search, action: SearchHistoryPrevious } + - { key: Down, mode: Search, action: SearchHistoryNext } + - { key: Return, mode: Search|~Vi, action: SearchFocusNext } + - { key: Return, mods: Shift, mode: Search|~Vi, action: SearchFocusPrevious } # (Windows, Linux, and BSD only) - # - { key: V, mods: Control|Shift, action: Paste } - # - { key: C, mods: Control|Shift, action: Copy } - # - { 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, mode: ~Vi, action: Paste } + #- { key: C, mods: Control|Shift, action: Copy } + #- { key: F, mods: Control|Shift, mode: ~Search, action: SearchForward } + #- { key: B, mods: Control|Shift, mode: ~Search, action: SearchBackward } + #- { key: C, mods: Control|Shift, mode: Vi|~Search, 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: Q, mods: Control, chars: "\x11" } - # - { 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: Return, mods: Command, action: ToggleSimpleFullscreen } - + #- { key: K, mods: Command, mode: ~Vi|~Search, chars: "\x0c" } + #- { key: K, mods: Command, mode: ~Vi|~Search, action: ClearHistory } + - { key: Q, mods: Control, chars: "\x11" } # fix ctrl+q on macOS + - { 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: V, mods: Command, action: Paste } + - { key: C, mods: Command, action: Copy } + # - { key: C, mods: Command, mode: Vi|~Search, action: ClearSelection } + - { key: H, mods: Command, action: Hide } + - { key: H, mods: Command|Alt, action: HideOtherApplications } + - { 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: Return, mods: Command, action: ToggleSimpleFullscreen } + - { key: F, mods: Command, mode: ~Search, action: SearchForward } + - { key: G, mods: Command, mode: ~Search, action: SearchBackward } #debug: - # Display the time it takes to redraw each frame. - #render_timer: false +# Display the time it takes to redraw each frame. +#render_timer: false - # Keep the log file after quitting Alacritty. - #persistent_logging: false +# Keep the log file after quitting Alacritty. +#persistent_logging: false - # Log level - # - # Values for `log_level`: - # - None - # - Error - # - Warn - # - Info - # - Debug - # - Trace - #log_level: Warn +# Log level +# +# Values for `log_level`: +# - Off +# - Error +# - Warn +# - Info +# - Debug +# - Trace +#log_level: Warn - # Print all received window events. - #print_events: false +# Print all received window events. +#print_events: false