alacritty.yml 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882
  1. # Configuration for Alacritty, the GPU enhanced terminal emulator.
  2. # Import additional configuration files
  3. #
  4. # Imports are loaded in order, skipping all missing files, with the importing
  5. # file being loaded last. If a field is already present in a previous import, it
  6. # will be replaced.
  7. #
  8. # All imports must either be absolute paths starting with `/`, or paths relative
  9. # to the user's home directory starting with `~/`.
  10. #import:
  11. # - /path/to/alacritty.yml
  12. # Any items in the `env` entry below will be added as
  13. # environment variables. Some entries may override variables
  14. # set by alacritty itself.
  15. #env:
  16. # TERM variable
  17. #
  18. # This value is used to set the `$TERM` environment variable for
  19. # each instance of Alacritty. If it is not present, alacritty will
  20. # check the local terminfo database and use `alacritty` if it is
  21. # available, otherwise `xterm-256color` is used.
  22. #TERM: alacritty
  23. #window:
  24. # Window dimensions (changes require restart)
  25. #
  26. # Number of lines/columns (not pixels) in the terminal. The number of columns
  27. # must be at least `2`, while using a value of `0` for columns and lines will
  28. # fall back to the window manager's recommended size.
  29. #dimensions:
  30. # columns: 0
  31. # lines: 0
  32. # Window position (changes require restart)
  33. #
  34. # Specified in number of pixels.
  35. # If the position is not set, the window manager will handle the placement.
  36. #position:
  37. # x: 0
  38. # y: 0
  39. # Window padding (changes require restart)
  40. #
  41. # Blank space added around the window in pixels. This padding is scaled
  42. # by DPI and the specified value is always added at both opposing sides.
  43. #padding:
  44. # x: 0
  45. # y: 0
  46. # Spread additional padding evenly around the terminal content.
  47. #dynamic_padding: false
  48. # Window decorations
  49. #
  50. # Values for `decorations`:
  51. # - full: Borders and title bar
  52. # - none: Neither borders nor title bar
  53. #
  54. # Values for `decorations` (macOS only):
  55. # - transparent: Title bar, transparent background and title bar buttons
  56. # - buttonless: Title bar, transparent background and no title bar buttons
  57. #decorations: full
  58. # Background opacity
  59. #
  60. # Window opacity as a floating point number from `0.0` to `1.0`.
  61. # The value `0.0` is completely transparent and `1.0` is opaque.
  62. # opacity: 1.0
  63. # Startup Mode (changes require restart)
  64. #
  65. # Values for `startup_mode`:
  66. # - Windowed
  67. # - Maximized
  68. # - Fullscreen
  69. #
  70. # Values for `startup_mode` (macOS only):
  71. # - SimpleFullscreen
  72. #startup_mode: Windowed
  73. # Window title
  74. #title: Alacritty
  75. # Allow terminal applications to change Alacritty's window title.
  76. #dynamic_title: true
  77. # Window class (Linux/BSD only):
  78. #class:
  79. # Application instance name
  80. #instance: Alacritty
  81. # General application class
  82. #general: Alacritty
  83. # GTK theme variant (Linux/BSD only)
  84. #
  85. # Override the variant of the GTK theme. Commonly supported values are `dark`
  86. # and `light`. Set this to `None` to use the default theme variant.
  87. #gtk_theme_variant: None
  88. #scrolling:
  89. # Maximum number of lines in the scrollback buffer.
  90. # Specifying '0' will disable scrolling.
  91. #history: 10000
  92. # Scrolling distance multiplier.
  93. #multiplier: 3
  94. # Font configuration
  95. font:
  96. # Normal (roman) font face
  97. normal:
  98. # Font family
  99. #
  100. # Default:
  101. # - (macOS) Menlo
  102. # - (Linux/BSD) monospace
  103. # - (Windows) Consolas
  104. family: "FuraCode Nerd Font"
  105. # The `style` can be specified to pick a specific face.
  106. style: Regular
  107. # Bold font face
  108. bold:
  109. # Font family
  110. #
  111. # If the bold family is not specified, it will fall back to the
  112. # value specified for the normal font.
  113. family: "Noto Sans Mono"
  114. # The `style` can be specified to pick a specific face.
  115. #style: Bold
  116. # Italic font face
  117. italic:
  118. # Font family
  119. #
  120. # If the italic family is not specified, it will fall back to the
  121. # value specified for the normal font.
  122. family: "Noto Sans Mono"
  123. # The `style` can be specified to pick a specific face.
  124. #style: Italic
  125. # Bold italic font face
  126. #bold_italic:
  127. # Font family
  128. #
  129. # If the bold italic family is not specified, it will fall back to the
  130. # value specified for the normal font.
  131. #family: monospace
  132. # The `style` can be specified to pick a specific face.
  133. #style: Bold Italic
  134. # Point size
  135. size: 11.0
  136. # Offset is the extra space around each character. `offset.y` can be thought
  137. # of as modifying the line spacing, and `offset.x` as modifying the letter
  138. # spacing.
  139. offset:
  140. x: 0
  141. y: 0
  142. # Glyph offset determines the locations of the glyphs within their cells with
  143. # the default being at the bottom. Increasing `x` moves the glyph to the
  144. # right, increasing `y` moves the glyph upward.
  145. #glyph_offset:
  146. # x: 0
  147. # y: 0
  148. # Thin stroke font rendering (macOS only)
  149. #
  150. # Thin strokes are suitable for retina displays, but for non-retina screens
  151. # it is recommended to set `use_thin_strokes` to `false`.
  152. #use_thin_strokes: true
  153. # Use built-in font for box drawing characters.
  154. #
  155. # If `true`, Alacritty will use a custom built-in font for box drawing
  156. # characters (Unicode points 2500 - 259f).
  157. #
  158. #builtin_box_drawing: true
  159. # If `true`, bold text is drawn using the bright color variants.
  160. #draw_bold_text_with_bright_colors: false
  161. # Colors (Tomorrow Night)
  162. #colors:
  163. # Default colors
  164. #primary:
  165. # background: '#1d1f21'
  166. # foreground: '#c5c8c6'
  167. # Bright and dim foreground colors
  168. #
  169. # The dimmed foreground color is calculated automatically if it is not
  170. # present. If the bright foreground color is not set, or
  171. # `draw_bold_text_with_bright_colors` is `false`, the normal foreground
  172. # color will be used.
  173. #dim_foreground: '#828482'
  174. #bright_foreground: '#eaeaea'
  175. # Cursor colors
  176. #
  177. # Colors which should be used to draw the terminal cursor.
  178. #
  179. # Allowed values are CellForeground/CellBackground, which reference the
  180. # affected cell, or hexadecimal colors like #ff00ff.
  181. #cursor:
  182. # text: CellBackground
  183. # cursor: CellForeground
  184. # Vi mode cursor colors
  185. #
  186. # Colors for the cursor when the vi mode is active.
  187. #
  188. # Allowed values are CellForeground/CellBackground, which reference the
  189. # affected cell, or hexadecimal colors like #ff00ff.
  190. #vi_mode_cursor:
  191. # text: CellBackground
  192. # cursor: CellForeground
  193. # Search colors
  194. #
  195. # Colors used for the search bar and match highlighting.
  196. #search:
  197. # Allowed values are CellForeground/CellBackground, which reference the
  198. # affected cell, or hexadecimal colors like #ff00ff.
  199. #matches:
  200. # foreground: '#000000'
  201. # background: '#ffffff'
  202. #focused_match:
  203. # foreground: '#ffffff'
  204. # background: '#000000'
  205. #bar:
  206. # background: '#c5c8c6'
  207. # foreground: '#1d1f21'
  208. # Keyboard regex hints
  209. #hints:
  210. # First character in the hint label
  211. #
  212. # Allowed values are CellForeground/CellBackground, which reference the
  213. # affected cell, or hexadecimal colors like #ff00ff.
  214. #start:
  215. # foreground: '#1d1f21'
  216. # background: '#e9ff5e'
  217. # All characters after the first one in the hint label
  218. #
  219. # Allowed values are CellForeground/CellBackground, which reference the
  220. # affected cell, or hexadecimal colors like #ff00ff.
  221. #end:
  222. # foreground: '#e9ff5e'
  223. # background: '#1d1f21'
  224. # Line indicator
  225. #
  226. # Color used for the indicator displaying the position in history during
  227. # search and vi mode.
  228. #
  229. # By default, these will use the opposing primary color.
  230. #line_indicator:
  231. # foreground: None
  232. # background: None
  233. # Selection colors
  234. #
  235. # Colors which should be used to draw the selection area.
  236. #
  237. # Allowed values are CellForeground/CellBackground, which reference the
  238. # affected cell, or hexadecimal colors like #ff00ff.
  239. #selection:
  240. # text: CellBackground
  241. # background: CellForeground
  242. # Normal colors
  243. #normal:
  244. # black: '#1d1f21'
  245. # red: '#cc6666'
  246. # green: '#b5bd68'
  247. # yellow: '#f0c674'
  248. # blue: '#81a2be'
  249. # magenta: '#b294bb'
  250. # cyan: '#8abeb7'
  251. # white: '#c5c8c6'
  252. # Bright colors
  253. #bright:
  254. # black: '#666666'
  255. # red: '#d54e53'
  256. # green: '#b9ca4a'
  257. # yellow: '#e7c547'
  258. # blue: '#7aa6da'
  259. # magenta: '#c397d8'
  260. # cyan: '#70c0b1'
  261. # white: '#eaeaea'
  262. # Dim colors
  263. #
  264. # If the dim colors are not set, they will be calculated automatically based
  265. # on the `normal` colors.
  266. #dim:
  267. # black: '#131415'
  268. # red: '#864343'
  269. # green: '#777c44'
  270. # yellow: '#9e824c'
  271. # blue: '#556a7d'
  272. # magenta: '#75617b'
  273. # cyan: '#5b7d78'
  274. # white: '#828482'
  275. # Indexed Colors
  276. #
  277. # The indexed colors include all colors from 16 to 256.
  278. # When these are not set, they're filled with sensible defaults.
  279. #
  280. # Example:
  281. # `- { index: 16, color: '#ff00ff' }`
  282. #
  283. #indexed_colors: []
  284. # Transparent cell backgrounds
  285. #
  286. # Whether or not `window.opacity` applies to all cell backgrounds or only to
  287. # the default background. When set to `true` all cells will be transparent
  288. # regardless of their background color.
  289. #transparent_background_colors: false
  290. # Bell
  291. #
  292. # The bell is rung every time the BEL control character is received.
  293. #bell:
  294. # Visual Bell Animation
  295. #
  296. # Animation effect for flashing the screen when the visual bell is rung.
  297. #
  298. # Values for `animation`:
  299. # - Ease
  300. # - EaseOut
  301. # - EaseOutSine
  302. # - EaseOutQuad
  303. # - EaseOutCubic
  304. # - EaseOutQuart
  305. # - EaseOutQuint
  306. # - EaseOutExpo
  307. # - EaseOutCirc
  308. # - Linear
  309. #animation: EaseOutExpo
  310. # Duration of the visual bell flash in milliseconds. A `duration` of `0` will
  311. # disable the visual bell animation.
  312. #duration: 0
  313. # Visual bell animation color.
  314. #color: '#ffffff'
  315. # Bell Command
  316. #
  317. # This program is executed whenever the bell is rung.
  318. #
  319. # When set to `command: None`, no command will be executed.
  320. #
  321. # Example:
  322. # command:
  323. # program: notify-send
  324. # args: ["Hello, World!"]
  325. #
  326. #command: None
  327. #selection:
  328. # This string contains all characters that are used as separators for
  329. # "semantic words" in Alacritty.
  330. #semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
  331. # When set to `true`, selected text will be copied to the primary clipboard.
  332. #save_to_clipboard: false
  333. #cursor:
  334. # Cursor style
  335. #style:
  336. # Cursor shape
  337. #
  338. # Values for `shape`:
  339. # - ▇ Block
  340. # - _ Underline
  341. # - | Beam
  342. #shape: Block
  343. # Cursor blinking state
  344. #
  345. # Values for `blinking`:
  346. # - Never: Prevent the cursor from ever blinking
  347. # - Off: Disable blinking by default
  348. # - On: Enable blinking by default
  349. # - Always: Force the cursor to always blink
  350. #blinking: Off
  351. # Vi mode cursor style
  352. #
  353. # If the vi mode cursor style is `None` or not specified, it will fall back to
  354. # the style of the active value of the normal cursor.
  355. #
  356. # See `cursor.style` for available options.
  357. #vi_mode_style: None
  358. # Cursor blinking interval in milliseconds.
  359. #blink_interval: 750
  360. # If this is `true`, the cursor will be rendered as a hollow box when the
  361. # window is not focused.
  362. #unfocused_hollow: true
  363. # Thickness of the cursor relative to the cell width as floating point number
  364. # from `0.0` to `1.0`.
  365. #thickness: 0.15
  366. # Live config reload (changes require restart)
  367. #live_config_reload: true
  368. # Shell
  369. #
  370. # You can set `shell.program` to the path of your favorite shell, e.g.
  371. # `/bin/fish`. Entries in `shell.args` are passed unmodified as arguments to the
  372. # shell.
  373. #
  374. # Default:
  375. # - (macOS) /bin/bash --login
  376. # - (Linux/BSD) user login shell
  377. # - (Windows) powershell
  378. shell:
  379. program: /bin/zsh
  380. # args:
  381. # - --login
  382. # Startup directory
  383. #
  384. # Directory the shell is started in. If this is unset, or `None`, the working
  385. # directory of the parent process will be used.
  386. #working_directory: None
  387. # Send ESC (\x1b) before characters when alt is pressed.
  388. #alt_send_esc: true
  389. # Offer IPC using `alacritty msg` (unix only)
  390. #ipc_socket: true
  391. #mouse:
  392. # Click settings
  393. #
  394. # The `double_click` and `triple_click` settings control the time
  395. # alacritty should wait for accepting multiple clicks as one double
  396. # or triple click.
  397. #double_click: { threshold: 300 }
  398. #triple_click: { threshold: 300 }
  399. # If this is `true`, the cursor is temporarily hidden when typing.
  400. #hide_when_typing: false
  401. # Regex hints
  402. #
  403. # Terminal hints can be used to find text in the visible part of the terminal
  404. # and pipe it to other applications.
  405. #hints:
  406. # Keys used for the hint labels.
  407. #alphabet: "jfkdls;ahgurieowpq"
  408. # List with all available hints
  409. #
  410. # Each hint must have a `regex` and either an `action` or a `command` field.
  411. # The fields `mouse`, `binding` and `post_processing` are optional.
  412. #
  413. # The fields `command`, `binding.key`, `binding.mods`, `binding.mode` and
  414. # `mouse.mods` accept the same values as they do in the `key_bindings` section.
  415. #
  416. # The `mouse.enabled` field controls if the hint should be underlined while
  417. # the mouse with all `mouse.mods` keys held or the vi mode cursor is above it.
  418. #
  419. # If the `post_processing` field is set to `true`, heuristics will be used to
  420. # shorten the match if there are characters likely not to be part of the hint
  421. # (e.g. a trailing `.`). This is most useful for URIs.
  422. #
  423. # Values for `action`:
  424. # - Copy
  425. # Copy the hint's text to the clipboard.
  426. # - Paste
  427. # Paste the hint's text to the terminal or search.
  428. # - Select
  429. # Select the hint's text.
  430. # - MoveViModeCursor
  431. # Move the vi mode cursor to the beginning of the hint.
  432. #enabled:
  433. # - regex: "(ipfs:|ipns:|magnet:|mailto:|gemini:|gopher:|https:|http:|news:|file:|git:|ssh:|ftp:)\
  434. # [^\u0000-\u001F\u007F-\u009F<>\"\\s{-}\\^⟨⟩`]+"
  435. # command: xdg-open
  436. # post_processing: true
  437. # mouse:
  438. # enabled: true
  439. # mods: None
  440. # binding:
  441. # key: U
  442. # mods: Control|Shift
  443. # Mouse bindings
  444. #
  445. # Mouse bindings are specified as a list of objects, much like the key
  446. # bindings further below.
  447. #
  448. # To trigger mouse bindings when an application running within Alacritty
  449. # captures the mouse, the `Shift` modifier is automatically added as a
  450. # requirement.
  451. #
  452. # Each mouse binding will specify a:
  453. #
  454. # - `mouse`:
  455. #
  456. # - Middle
  457. # - Left
  458. # - Right
  459. # - Numeric identifier such as `5`
  460. #
  461. # - `action` (see key bindings for actions not exclusive to mouse mode)
  462. #
  463. # - Mouse exclusive actions:
  464. #
  465. # - ExpandSelection
  466. # Expand the selection to the current mouse cursor location.
  467. #
  468. # And optionally:
  469. #
  470. # - `mods` (see key bindings)
  471. #mouse_bindings:
  472. # - { mouse: Right, action: ExpandSelection }
  473. # - { mouse: Right, mods: Control, action: ExpandSelection }
  474. # - { mouse: Middle, mode: ~Vi, action: PasteSelection }
  475. # Key bindings
  476. #
  477. # Key bindings are specified as a list of objects. For example, this is the
  478. # default paste binding:
  479. #
  480. # `- { key: V, mods: Control|Shift, action: Paste }`
  481. #
  482. # Each key binding will specify a:
  483. #
  484. # - `key`: Identifier of the key pressed
  485. #
  486. # - A-Z
  487. # - F1-F24
  488. # - Key0-Key9
  489. #
  490. # A full list with available key codes can be found here:
  491. # https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants
  492. #
  493. # Instead of using the name of the keys, the `key` field also supports using
  494. # the scancode of the desired key. Scancodes have to be specified as a
  495. # decimal number. This command will allow you to display the hex scancodes
  496. # for certain keys:
  497. #
  498. # `showkey --scancodes`.
  499. #
  500. # Then exactly one of:
  501. #
  502. # - `chars`: Send a byte sequence to the running application
  503. #
  504. # The `chars` field writes the specified string to the terminal. This makes
  505. # it possible to pass escape sequences. To find escape codes for bindings
  506. # like `PageUp` (`"\x1b[5~"`), you can run the command `showkey -a` outside
  507. # of tmux. Note that applications use terminfo to map escape sequences back
  508. # to keys. It is therefore required to update the terminfo when changing an
  509. # escape sequence.
  510. #
  511. # - `action`: Execute a predefined action
  512. #
  513. # - ToggleViMode
  514. # - SearchForward
  515. # Start searching toward the right of the search origin.
  516. # - SearchBackward
  517. # Start searching toward the left of the search origin.
  518. # - Copy
  519. # - Paste
  520. # - IncreaseFontSize
  521. # - DecreaseFontSize
  522. # - ResetFontSize
  523. # - ScrollPageUp
  524. # - ScrollPageDown
  525. # - ScrollHalfPageUp
  526. # - ScrollHalfPageDown
  527. # - ScrollLineUp
  528. # - ScrollLineDown
  529. # - ScrollToTop
  530. # - ScrollToBottom
  531. # - ClearHistory
  532. # Remove the terminal's scrollback history.
  533. # - Hide
  534. # Hide the Alacritty window.
  535. # - Minimize
  536. # Minimize the Alacritty window.
  537. # - Quit
  538. # Quit Alacritty.
  539. # - ToggleFullscreen
  540. # - SpawnNewInstance
  541. # Spawn a new instance of Alacritty.
  542. # - CreateNewWindow
  543. # Create a new Alacritty window from the current process.
  544. # - ClearLogNotice
  545. # Clear Alacritty's UI warning and error notice.
  546. # - ClearSelection
  547. # Remove the active selection.
  548. # - ReceiveChar
  549. # - None
  550. #
  551. # - Vi mode exclusive actions:
  552. #
  553. # - Open
  554. # Perform the action of the first matching hint under the vi mode cursor
  555. # with `mouse.enabled` set to `true`.
  556. # - ToggleNormalSelection
  557. # - ToggleLineSelection
  558. # - ToggleBlockSelection
  559. # - ToggleSemanticSelection
  560. # Toggle semantic selection based on `selection.semantic_escape_chars`.
  561. #
  562. # - Vi mode exclusive cursor motion actions:
  563. #
  564. # - Up
  565. # One line up.
  566. # - Down
  567. # One line down.
  568. # - Left
  569. # One character left.
  570. # - Right
  571. # One character right.
  572. # - First
  573. # First column, or beginning of the line when already at the first column.
  574. # - Last
  575. # Last column, or beginning of the line when already at the last column.
  576. # - FirstOccupied
  577. # First non-empty cell in this terminal row, or first non-empty cell of
  578. # the line when already at the first cell of the row.
  579. # - High
  580. # Top of the screen.
  581. # - Middle
  582. # Center of the screen.
  583. # - Low
  584. # Bottom of the screen.
  585. # - SemanticLeft
  586. # Start of the previous semantically separated word.
  587. # - SemanticRight
  588. # Start of the next semantically separated word.
  589. # - SemanticLeftEnd
  590. # End of the previous semantically separated word.
  591. # - SemanticRightEnd
  592. # End of the next semantically separated word.
  593. # - WordLeft
  594. # Start of the previous whitespace separated word.
  595. # - WordRight
  596. # Start of the next whitespace separated word.
  597. # - WordLeftEnd
  598. # End of the previous whitespace separated word.
  599. # - WordRightEnd
  600. # End of the next whitespace separated word.
  601. # - Bracket
  602. # Character matching the bracket at the cursor's location.
  603. # - SearchNext
  604. # Beginning of the next match.
  605. # - SearchPrevious
  606. # Beginning of the previous match.
  607. # - SearchStart
  608. # Start of the match to the left of the vi mode cursor.
  609. # - SearchEnd
  610. # End of the match to the right of the vi mode cursor.
  611. #
  612. # - Search mode exclusive actions:
  613. # - SearchFocusNext
  614. # Move the focus to the next search match.
  615. # - SearchFocusPrevious
  616. # Move the focus to the previous search match.
  617. # - SearchConfirm
  618. # - SearchCancel
  619. # - SearchClear
  620. # Reset the search regex.
  621. # - SearchDeleteWord
  622. # Delete the last word in the search regex.
  623. # - SearchHistoryPrevious
  624. # Go to the previous regex in the search history.
  625. # - SearchHistoryNext
  626. # Go to the next regex in the search history.
  627. #
  628. # - macOS exclusive actions:
  629. # - ToggleSimpleFullscreen
  630. # Enter fullscreen without occupying another space.
  631. #
  632. # - Linux/BSD exclusive actions:
  633. #
  634. # - CopySelection
  635. # Copy from the selection buffer.
  636. # - PasteSelection
  637. # Paste from the selection buffer.
  638. #
  639. # - `command`: Fork and execute a specified command plus arguments
  640. #
  641. # The `command` field must be a map containing a `program` string and an
  642. # `args` array of command line parameter strings. For example:
  643. # `{ program: "alacritty", args: ["-e", "vttest"] }`
  644. #
  645. # And optionally:
  646. #
  647. # - `mods`: Key modifiers to filter binding actions
  648. #
  649. # - Command
  650. # - Control
  651. # - Option
  652. # - Super
  653. # - Shift
  654. # - Alt
  655. #
  656. # Multiple `mods` can be combined using `|` like this:
  657. # `mods: Control|Shift`.
  658. # Whitespace and capitalization are relevant and must match the example.
  659. #
  660. # - `mode`: Indicate a binding for only specific terminal reported modes
  661. #
  662. # This is mainly used to send applications the correct escape sequences
  663. # when in different modes.
  664. #
  665. # - AppCursor
  666. # - AppKeypad
  667. # - Search
  668. # - Alt
  669. # - Vi
  670. #
  671. # A `~` operator can be used before a mode to apply the binding whenever
  672. # the mode is *not* active, e.g. `~Alt`.
  673. #
  674. # Bindings are always filled by default, but will be replaced when a new
  675. # binding with the same triggers is defined. To unset a default binding, it can
  676. # be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for
  677. # a no-op if you do not wish to receive input characters for that binding.
  678. #
  679. # If the same trigger is assigned to multiple actions, all of them are executed
  680. # in the order they were defined in.
  681. #key_bindings:
  682. #- { key: Paste, action: Paste }
  683. #- { key: Copy, action: Copy }
  684. #- { key: L, mods: Control, action: ClearLogNotice }
  685. #- { key: L, mods: Control, mode: ~Vi|~Search, chars: "\x0c" }
  686. #- { key: PageUp, mods: Shift, mode: ~Alt, action: ScrollPageUp, }
  687. #- { key: PageDown, mods: Shift, mode: ~Alt, action: ScrollPageDown }
  688. #- { key: Home, mods: Shift, mode: ~Alt, action: ScrollToTop, }
  689. #- { key: End, mods: Shift, mode: ~Alt, action: ScrollToBottom }
  690. # Vi Mode
  691. #- { key: Space, mods: Shift|Control, mode: ~Search, action: ToggleViMode }
  692. #- { key: Space, mods: Shift|Control, mode: Vi|~Search, action: ScrollToBottom }
  693. #- { key: Escape, mode: Vi|~Search, action: ClearSelection }
  694. #- { key: I, mode: Vi|~Search, action: ToggleViMode }
  695. #- { key: I, mode: Vi|~Search, action: ScrollToBottom }
  696. #- { key: C, mods: Control, mode: Vi|~Search, action: ToggleViMode }
  697. #- { key: Y, mods: Control, mode: Vi|~Search, action: ScrollLineUp }
  698. #- { key: E, mods: Control, mode: Vi|~Search, action: ScrollLineDown }
  699. #- { key: G, mode: Vi|~Search, action: ScrollToTop }
  700. #- { key: G, mods: Shift, mode: Vi|~Search, action: ScrollToBottom }
  701. #- { key: B, mods: Control, mode: Vi|~Search, action: ScrollPageUp }
  702. #- { key: F, mods: Control, mode: Vi|~Search, action: ScrollPageDown }
  703. #- { key: U, mods: Control, mode: Vi|~Search, action: ScrollHalfPageUp }
  704. #- { key: D, mods: Control, mode: Vi|~Search, action: ScrollHalfPageDown }
  705. #- { key: Y, mode: Vi|~Search, action: Copy }
  706. #- { key: Y, mode: Vi|~Search, action: ClearSelection }
  707. #- { key: Copy, mode: Vi|~Search, action: ClearSelection }
  708. #- { key: V, mode: Vi|~Search, action: ToggleNormalSelection }
  709. #- { key: V, mods: Shift, mode: Vi|~Search, action: ToggleLineSelection }
  710. #- { key: V, mods: Control, mode: Vi|~Search, action: ToggleBlockSelection }
  711. #- { key: V, mods: Alt, mode: Vi|~Search, action: ToggleSemanticSelection }
  712. #- { key: Return, mode: Vi|~Search, action: Open }
  713. #- { key: K, mode: Vi|~Search, action: Up }
  714. #- { key: J, mode: Vi|~Search, action: Down }
  715. #- { key: H, mode: Vi|~Search, action: Left }
  716. #- { key: L, mode: Vi|~Search, action: Right }
  717. #- { key: Up, mode: Vi|~Search, action: Up }
  718. #- { key: Down, mode: Vi|~Search, action: Down }
  719. #- { key: Left, mode: Vi|~Search, action: Left }
  720. #- { key: Right, mode: Vi|~Search, action: Right }
  721. #- { key: Key0, mode: Vi|~Search, action: First }
  722. #- { key: Key4, mods: Shift, mode: Vi|~Search, action: Last }
  723. #- { key: Key6, mods: Shift, mode: Vi|~Search, action: FirstOccupied }
  724. #- { key: H, mods: Shift, mode: Vi|~Search, action: High }
  725. #- { key: M, mods: Shift, mode: Vi|~Search, action: Middle }
  726. #- { key: L, mods: Shift, mode: Vi|~Search, action: Low }
  727. #- { key: B, mode: Vi|~Search, action: SemanticLeft }
  728. #- { key: W, mode: Vi|~Search, action: SemanticRight }
  729. #- { key: E, mode: Vi|~Search, action: SemanticRightEnd }
  730. #- { key: B, mods: Shift, mode: Vi|~Search, action: WordLeft }
  731. #- { key: W, mods: Shift, mode: Vi|~Search, action: WordRight }
  732. #- { key: E, mods: Shift, mode: Vi|~Search, action: WordRightEnd }
  733. #- { key: Key5, mods: Shift, mode: Vi|~Search, action: Bracket }
  734. #- { key: Slash, mode: Vi|~Search, action: SearchForward }
  735. #- { key: Slash, mods: Shift, mode: Vi|~Search, action: SearchBackward }
  736. #- { key: N, mode: Vi|~Search, action: SearchNext }
  737. #- { key: N, mods: Shift, mode: Vi|~Search, action: SearchPrevious }
  738. # Search Mode
  739. #- { key: Return, mode: Search|Vi, action: SearchConfirm }
  740. #- { key: Escape, mode: Search, action: SearchCancel }
  741. #- { key: C, mods: Control, mode: Search, action: SearchCancel }
  742. #- { key: U, mods: Control, mode: Search, action: SearchClear }
  743. #- { key: W, mods: Control, mode: Search, action: SearchDeleteWord }
  744. #- { key: P, mods: Control, mode: Search, action: SearchHistoryPrevious }
  745. #- { key: N, mods: Control, mode: Search, action: SearchHistoryNext }
  746. #- { key: Up, mode: Search, action: SearchHistoryPrevious }
  747. #- { key: Down, mode: Search, action: SearchHistoryNext }
  748. #- { key: Return, mode: Search|~Vi, action: SearchFocusNext }
  749. #- { key: Return, mods: Shift, mode: Search|~Vi, action: SearchFocusPrevious }
  750. # (Windows, Linux, and BSD only)
  751. #- { key: V, mods: Control|Shift, mode: ~Vi, action: Paste }
  752. #- { key: C, mods: Control|Shift, action: Copy }
  753. #- { key: F, mods: Control|Shift, mode: ~Search, action: SearchForward }
  754. #- { key: B, mods: Control|Shift, mode: ~Search, action: SearchBackward }
  755. #- { key: C, mods: Control|Shift, mode: Vi|~Search, action: ClearSelection }
  756. #- { key: Insert, mods: Shift, action: PasteSelection }
  757. #- { key: Key0, mods: Control, action: ResetFontSize }
  758. #- { key: Equals, mods: Control, action: IncreaseFontSize }
  759. #- { key: Plus, mods: Control, action: IncreaseFontSize }
  760. #- { key: NumpadAdd, mods: Control, action: IncreaseFontSize }
  761. #- { key: Minus, mods: Control, action: DecreaseFontSize }
  762. #- { key: NumpadSubtract, mods: Control, action: DecreaseFontSize }
  763. # (Windows only)
  764. #- { key: Return, mods: Alt, action: ToggleFullscreen }
  765. # (macOS only)
  766. #- { key: K, mods: Command, mode: ~Vi|~Search, chars: "\x0c" }
  767. #- { key: K, mods: Command, mode: ~Vi|~Search, action: ClearHistory }
  768. #- { key: Key0, mods: Command, action: ResetFontSize }
  769. #- { key: Equals, mods: Command, action: IncreaseFontSize }
  770. #- { key: Plus, mods: Command, action: IncreaseFontSize }
  771. #- { key: NumpadAdd, mods: Command, action: IncreaseFontSize }
  772. #- { key: Minus, mods: Command, action: DecreaseFontSize }
  773. #- { key: NumpadSubtract, mods: Command, action: DecreaseFontSize }
  774. #- { key: V, mods: Command, action: Paste }
  775. #- { key: C, mods: Command, action: Copy }
  776. #- { key: C, mods: Command, mode: Vi|~Search, action: ClearSelection }
  777. #- { key: H, mods: Command, action: Hide }
  778. #- { key: H, mods: Command|Alt, action: HideOtherApplications }
  779. #- { key: M, mods: Command, action: Minimize }
  780. #- { key: Q, mods: Command, action: Quit }
  781. #- { key: W, mods: Command, action: Quit }
  782. #- { key: N, mods: Command, action: SpawnNewInstance }
  783. #- { key: F, mods: Command|Control, action: ToggleFullscreen }
  784. #- { key: F, mods: Command, mode: ~Search, action: SearchForward }
  785. #- { key: B, mods: Command, mode: ~Search, action: SearchBackward }
  786. #debug:
  787. # Display the time it takes to redraw each frame.
  788. #render_timer: false
  789. # Keep the log file after quitting Alacritty.
  790. #persistent_logging: false
  791. # Log level
  792. #
  793. # Values for `log_level`:
  794. # - Off
  795. # - Error
  796. # - Warn
  797. # - Info
  798. # - Debug
  799. # - Trace
  800. #log_level: Warn
  801. # Print all received window events.
  802. #print_events: false
  803. # Highlight window damage information.
  804. #highlight_damage: false