.alacritty.yml 30 KB

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