alacritty.yml 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891
  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: xterm-256color
  23. window:
  24. # Window dimensions (changes require restart)
  25. #
  26. # Number of lines/columns (not pixels) in the terminal. Both lines and columns
  27. # must be non-zero for this to take effect. The number of columns must be at
  28. # least `2`, while using a value of `0` for columns and lines will fall back
  29. # to the window manager's recommended size
  30. dimensions:
  31. columns: 160
  32. lines: 200
  33. # Window position (changes require restart)
  34. #
  35. # Specified in number of pixels.
  36. # If the position is not set, the window manager will handle the placement.
  37. #position:
  38. # x: 0
  39. # y: 0
  40. # Window padding (changes require restart)
  41. #
  42. # Blank space added around the window in pixels. This padding is scaled
  43. # by DPI and the specified value is always added at both opposing sides.
  44. #padding:
  45. # x: 0
  46. # y: 0
  47. # Spread additional padding evenly around the terminal content.
  48. #dynamic_padding: false
  49. # Window decorations
  50. #
  51. # Values for `decorations`:
  52. # - full: Borders and title bar
  53. # - none: Neither borders nor title bar
  54. #
  55. # Values for `decorations` (macOS only):
  56. # - transparent: Title bar, transparent background and title bar buttons
  57. # - buttonless: Title bar, transparent background and no title bar buttons
  58. decorations: full
  59. # Background opacity
  60. #
  61. # Window opacity as a floating point number from `0.0` to `1.0`.
  62. # The value `0.0` is completely transparent and `1.0` is opaque.
  63. #opacity: 1.0
  64. # Startup Mode (changes require restart)
  65. #
  66. # Values for `startup_mode`:
  67. # - Windowed
  68. # - Maximized
  69. # - Fullscreen
  70. #
  71. # Values for `startup_mode` (macOS only):
  72. # - SimpleFullscreen
  73. #startup_mode: Windowed
  74. # Window title
  75. #title: Alacritty
  76. # Allow terminal applications to change Alacritty's window title.
  77. dynamic_title: true
  78. # Window class (Linux/BSD only):
  79. #class:
  80. # Application instance name
  81. #instance: Alacritty
  82. # General application class
  83. #general: Alacritty
  84. # Decorations theme variant (Linux/BSD only)
  85. #
  86. # Override the variant of the GTK theme/Wayland client side decorations.
  87. # Commonly supported values are `dark` and `light`. Set this to `None` to use
  88. # the default theme variant.
  89. decorations_theme_variant: dark
  90. scrolling:
  91. # Maximum number of lines in the scrollback buffer.
  92. # Specifying '0' will disable scrolling.
  93. history: 10000
  94. # Scrolling distance multiplier.
  95. multiplier: 3
  96. # Font configuration
  97. font:
  98. # Normal (roman) font face
  99. normal:
  100. # Font family
  101. #
  102. # Default:
  103. # - (macOS) Menlo
  104. # - (Linux/BSD) monospace
  105. # - (Windows) Consolas
  106. family: Hack
  107. # The `style` can be specified to pick a specific face.
  108. style: Regular
  109. # Bold font face
  110. bold:
  111. # Font family
  112. #
  113. # If the bold family is not specified, it will fall back to the
  114. # value specified for the normal font.
  115. family: Hack
  116. # The `style` can be specified to pick a specific face.
  117. style: Bold
  118. # Italic font face
  119. italic:
  120. # Font family
  121. #
  122. # If the italic family is not specified, it will fall back to the
  123. # value specified for the normal font.
  124. family: Hack
  125. # The `style` can be specified to pick a specific face.
  126. style: Italic
  127. # Bold italic font face
  128. #bold_italic:
  129. # Font family
  130. #
  131. # If the bold italic family is not specified, it will fall back to the
  132. # value specified for the normal font.
  133. #family: monospace
  134. # The `style` can be specified to pick a specific face.
  135. #style: Bold Italic
  136. # Point size
  137. size: 11.0
  138. # Offset is the extra space around each character. `offset.y` can be thought
  139. # of as modifying the line spacing, and `offset.x` as modifying the letter
  140. # spacing.
  141. #offset:
  142. # x: 0
  143. # y: 0
  144. # Glyph offset determines the locations of the glyphs within their cells with
  145. # the default being at the bottom. Increasing `x` moves the glyph to the
  146. # right, increasing `y` moves the glyph upward.
  147. #glyph_offset:
  148. # x: 0
  149. # y: 0
  150. # Use built-in font for box drawing characters.
  151. #
  152. # If `true`, Alacritty will use a custom built-in font for box drawing
  153. # characters (Unicode points 2500 - 259f).
  154. #
  155. #builtin_box_drawing: true
  156. # If `true`, bold text is drawn using the bright color variants.
  157. #draw_bold_text_with_bright_colors: false
  158. # Colors (Tomorrow Night)
  159. colors:
  160. # Default colors
  161. primary:
  162. background: '0x263238'
  163. foreground: '0xeceff1'
  164. # Bright and dim foreground colors
  165. #
  166. # The dimmed foreground color is calculated automatically if it is not
  167. # present. If the bright foreground color is not set, or
  168. # `draw_bold_text_with_bright_colors` is `false`, the normal foreground
  169. # color will be used.
  170. #dim_foreground: '#828482'
  171. #bright_foreground: '#eaeaea'
  172. # Cursor colors
  173. #
  174. # Colors which should be used to draw the terminal cursor.
  175. #
  176. # Allowed values are CellForeground/CellBackground, which reference the
  177. # affected cell, or hexadecimal colors like #ff00ff.
  178. #cursor:
  179. # text: CellBackground
  180. # cursor: CellForeground
  181. # Vi mode cursor colors
  182. #
  183. # Colors for the cursor when the vi mode is active.
  184. #
  185. # Allowed values are CellForeground/CellBackground, which reference the
  186. # affected cell, or hexadecimal colors like #ff00ff.
  187. #vi_mode_cursor:
  188. # text: CellBackground
  189. # cursor: CellForeground
  190. # Search colors
  191. #
  192. # Colors used for the search bar and match highlighting.
  193. #search:
  194. # Allowed values are CellForeground/CellBackground, which reference the
  195. # affected cell, or hexadecimal colors like #ff00ff.
  196. #matches:
  197. # foreground: '#000000'
  198. # background: '#ffffff'
  199. #focused_match:
  200. # foreground: '#ffffff'
  201. # background: '#000000'
  202. # Keyboard hints
  203. #hints:
  204. # First character in the hint label
  205. #
  206. # Allowed values are CellForeground/CellBackground, which reference the
  207. # affected cell, or hexadecimal colors like #ff00ff.
  208. #start:
  209. # foreground: '#1d1f21'
  210. # background: '#e9ff5e'
  211. # All characters after the first one in the hint label
  212. #
  213. # Allowed values are CellForeground/CellBackground, which reference the
  214. # affected cell, or hexadecimal colors like #ff00ff.
  215. #end:
  216. # foreground: '#e9ff5e'
  217. # background: '#1d1f21'
  218. # Line indicator
  219. #
  220. # Color used for the indicator displaying the position in history during
  221. # search and vi mode.
  222. #
  223. # By default, these will use the opposing primary color.
  224. #line_indicator:
  225. # foreground: None
  226. # background: None
  227. # Footer bar
  228. #
  229. # Color used for the footer bar on the bottom, used by search regex input,
  230. # hyperlink URI preview, etc.
  231. #
  232. #footer_bar:
  233. # background: '#c5c8c6'
  234. # foreground: '#1d1f21'
  235. # Selection colors
  236. #
  237. # Colors which should be used to draw the selection area.
  238. #
  239. # Allowed values are CellForeground/CellBackground, which reference the
  240. # affected cell, or hexadecimal colors like #ff00ff.
  241. #selection:
  242. # text: CellBackground
  243. # background: CellForeground
  244. normal:
  245. black: '0x263238'
  246. red: '0xff9800'
  247. green: '0x8bc34a'
  248. yellow: '0xffc107'
  249. blue: '0x03a9f4'
  250. magenta: '0xe91e63'
  251. cyan: '0x009688'
  252. white: '0xcfd8dc'
  253. bright:
  254. black: '0x37474f'
  255. red: '0xffa74d'
  256. green: '0x9ccc65'
  257. yellow: '0xffa000'
  258. blue: '0x81d4fa'
  259. magenta: '0xad1457'
  260. cyan: '0x26a69a'
  261. white: '0xeceff1'
  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. # Time after which cursor stops blinking, in seconds.
  361. #
  362. # Specifying '0' will disable timeout for blinking.
  363. #blink_timeout: 5
  364. # If this is `true`, the cursor will be rendered as a hollow box when the
  365. # window is not focused.
  366. #unfocused_hollow: true
  367. # Thickness of the cursor relative to the cell width as floating point number
  368. # from `0.0` to `1.0`.
  369. #thickness: 0.15
  370. # Live config reload (changes require restart)
  371. live_config_reload: true
  372. # Shell
  373. #
  374. # You can set `shell.program` to the path of your favorite shell, e.g.
  375. # `/bin/fish`. Entries in `shell.args` are passed unmodified as arguments to the
  376. # shell.
  377. #
  378. # Default:
  379. # - (Linux/BSD/macOS) `$SHELL` or the user's login shell, if `$SHELL` is unset
  380. # - (Windows) powershell
  381. #shell:
  382. # program: /bin/bash
  383. # args:
  384. # - --login
  385. # Startup directory
  386. #
  387. # Directory the shell is started in. If this is unset, or `None`, the working
  388. # directory of the parent process will be used.
  389. #working_directory: None
  390. # Send ESC (\x1b) before characters when alt is pressed.
  391. #alt_send_esc: true
  392. # Offer IPC using `alacritty msg` (unix only)
  393. #ipc_socket: true
  394. #mouse:
  395. # Click settings
  396. #
  397. # The `double_click` and `triple_click` settings control the time
  398. # alacritty should wait for accepting multiple clicks as one double
  399. # or triple click.
  400. #double_click: { threshold: 300 }
  401. #triple_click: { threshold: 300 }
  402. # If this is `true`, the cursor is temporarily hidden when typing.
  403. #hide_when_typing: false
  404. # Hints
  405. #
  406. # Terminal hints can be used to find text or hyperlink in the visible part of
  407. # the terminal and pipe it to other applications.
  408. #hints:
  409. # Keys used for the hint labels.
  410. #alphabet: "jfkdls;ahgurieowpq"
  411. # List with all available hints
  412. #
  413. # Each hint must have any of `regex` or `hyperlinks` field and either an
  414. # `action` or a `command` field. The fields `mouse`, `binding` and
  415. # `post_processing` are optional.
  416. #
  417. # The `hyperlinks` option will cause OSC 8 escape sequence hyperlinks to be
  418. # highlighted.
  419. #
  420. # The fields `command`, `binding.key`, `binding.mods`, `binding.mode` and
  421. # `mouse.mods` accept the same values as they do in the `key_bindings` section.
  422. #
  423. # The `mouse.enabled` field controls if the hint should be underlined while
  424. # the mouse with all `mouse.mods` keys held or the vi mode cursor is above it.
  425. #
  426. # If the `post_processing` field is set to `true`, heuristics will be used to
  427. # shorten the match if there are characters likely not to be part of the hint
  428. # (e.g. a trailing `.`). This is most useful for URIs and applies only to
  429. # `regex` matches.
  430. #
  431. # Values for `action`:
  432. # - Copy
  433. # Copy the hint's text to the clipboard.
  434. # - Paste
  435. # Paste the hint's text to the terminal or search.
  436. # - Select
  437. # Select the hint's text.
  438. # - MoveViModeCursor
  439. # Move the vi mode cursor to the beginning of the hint.
  440. #enabled:
  441. # - regex: "(ipfs:|ipns:|magnet:|mailto:|gemini:|gopher:|https:|http:|news:|file:|git:|ssh:|ftp:)\
  442. # [^\u0000-\u001F\u007F-\u009F<>\"\\s{-}\\^⟨⟩`]+"
  443. # hyperlinks: true
  444. # command: xdg-open
  445. # post_processing: true
  446. # mouse:
  447. # enabled: true
  448. # mods: None
  449. # binding:
  450. # key: U
  451. # mods: Control|Shift
  452. # Mouse bindings
  453. #
  454. # Mouse bindings are specified as a list of objects, much like the key
  455. # bindings further below.
  456. #
  457. # To trigger mouse bindings when an application running within Alacritty
  458. # captures the mouse, the `Shift` modifier is automatically added as a
  459. # requirement.
  460. #
  461. # Each mouse binding will specify a:
  462. #
  463. # - `mouse`:
  464. #
  465. # - Middle
  466. # - Left
  467. # - Right
  468. # - Numeric identifier such as `5`
  469. #
  470. # - `action` (see key bindings for actions not exclusive to mouse mode)
  471. #
  472. # - Mouse exclusive actions:
  473. #
  474. # - ExpandSelection
  475. # Expand the selection to the current mouse cursor location.
  476. #
  477. # And optionally:
  478. #
  479. # - `mods` (see key bindings)
  480. mouse_bindings:
  481. - { mouse: Right, action: ExpandSelection }
  482. - { mouse: Right, mods: Control, action: ExpandSelection }
  483. - { mouse: Middle, mode: ~Vi, action: PasteSelection }
  484. # Key bindings
  485. #
  486. # Key bindings are specified as a list of objects. For example, this is the
  487. # default paste binding:
  488. #
  489. # `- { key: V, mods: Control|Shift, action: Paste }`
  490. #
  491. # Each key binding will specify a:
  492. #
  493. # - `key`: Identifier of the key pressed
  494. #
  495. # - A-Z
  496. # - F1-F24
  497. # - Key0-Key9
  498. #
  499. # A full list with available key codes can be found here:
  500. # https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants
  501. #
  502. # Instead of using the name of the keys, the `key` field also supports using
  503. # the scancode of the desired key. Scancodes have to be specified as a
  504. # decimal number. This command will allow you to display the hex scancodes
  505. # for certain keys:
  506. #
  507. # `showkey --scancodes`.
  508. #
  509. # Then exactly one of:
  510. #
  511. # - `chars`: Send a byte sequence to the running application
  512. #
  513. # The `chars` field writes the specified string to the terminal. This makes
  514. # it possible to pass escape sequences. To find escape codes for bindings
  515. # like `PageUp` (`"\x1b[5~"`), you can run the command `showkey -a` outside
  516. # of tmux. Note that applications use terminfo to map escape sequences back
  517. # to keys. It is therefore required to update the terminfo when changing an
  518. # escape sequence.
  519. #
  520. # - `action`: Execute a predefined action
  521. #
  522. # - ToggleViMode
  523. # - SearchForward
  524. # Start searching toward the right of the search origin.
  525. # - SearchBackward
  526. # Start searching toward the left of the search origin.
  527. # - Copy
  528. # - Paste
  529. # - IncreaseFontSize
  530. # - DecreaseFontSize
  531. # - ResetFontSize
  532. # - ScrollPageUp
  533. # - ScrollPageDown
  534. # - ScrollHalfPageUp
  535. # - ScrollHalfPageDown
  536. # - ScrollLineUp
  537. # - ScrollLineDown
  538. # - ScrollToTop
  539. # - ScrollToBottom
  540. # - ClearHistory
  541. # Remove the terminal's scrollback history.
  542. # - Hide
  543. # Hide the Alacritty window.
  544. # - Minimize
  545. # Minimize the Alacritty window.
  546. # - Quit
  547. # Quit Alacritty.
  548. # - ToggleFullscreen
  549. # - SpawnNewInstance
  550. # Spawn a new instance of Alacritty.
  551. # - CreateNewWindow
  552. # Create a new Alacritty window from the current process.
  553. # - ClearLogNotice
  554. # Clear Alacritty's UI warning and error notice.
  555. # - ClearSelection
  556. # Remove the active selection.
  557. # - ReceiveChar
  558. # - None
  559. #
  560. # - Vi mode exclusive actions:
  561. #
  562. # - Open
  563. # Perform the action of the first matching hint under the vi mode cursor
  564. # with `mouse.enabled` set to `true`.
  565. # - ToggleNormalSelection
  566. # - ToggleLineSelection
  567. # - ToggleBlockSelection
  568. # - ToggleSemanticSelection
  569. # Toggle semantic selection based on `selection.semantic_escape_chars`.
  570. # - CenterAroundViCursor
  571. # Center view around vi mode cursor
  572. #
  573. # - Vi mode exclusive cursor motion actions:
  574. #
  575. # - Up
  576. # One line up.
  577. # - Down
  578. # One line down.
  579. # - Left
  580. # One character left.
  581. # - Right
  582. # One character right.
  583. # - First
  584. # First column, or beginning of the line when already at the first column.
  585. # - Last
  586. # Last column, or beginning of the line when already at the last column.
  587. # - FirstOccupied
  588. # First non-empty cell in this terminal row, or first non-empty cell of
  589. # the line when already at the first cell of the row.
  590. # - High
  591. # Top of the screen.
  592. # - Middle
  593. # Center of the screen.
  594. # - Low
  595. # Bottom of the screen.
  596. # - SemanticLeft
  597. # Start of the previous semantically separated word.
  598. # - SemanticRight
  599. # Start of the next semantically separated word.
  600. # - SemanticLeftEnd
  601. # End of the previous semantically separated word.
  602. # - SemanticRightEnd
  603. # End of the next semantically separated word.
  604. # - WordLeft
  605. # Start of the previous whitespace separated word.
  606. # - WordRight
  607. # Start of the next whitespace separated word.
  608. # - WordLeftEnd
  609. # End of the previous whitespace separated word.
  610. # - WordRightEnd
  611. # End of the next whitespace separated word.
  612. # - Bracket
  613. # Character matching the bracket at the cursor's location.
  614. # - SearchNext
  615. # Beginning of the next match.
  616. # - SearchPrevious
  617. # Beginning of the previous match.
  618. # - SearchStart
  619. # Start of the match to the left of the vi mode cursor.
  620. # - SearchEnd
  621. # End of the match to the right of the vi mode cursor.
  622. #
  623. # - Search mode exclusive actions:
  624. # - SearchFocusNext
  625. # Move the focus to the next search match.
  626. # - SearchFocusPrevious
  627. # Move the focus to the previous search match.
  628. # - SearchConfirm
  629. # - SearchCancel
  630. # - SearchClear
  631. # Reset the search regex.
  632. # - SearchDeleteWord
  633. # Delete the last word in the search regex.
  634. # - SearchHistoryPrevious
  635. # Go to the previous regex in the search history.
  636. # - SearchHistoryNext
  637. # Go to the next regex in the search history.
  638. #
  639. # - macOS exclusive actions:
  640. # - ToggleSimpleFullscreen
  641. # Enter fullscreen without occupying another space.
  642. #
  643. # - Linux/BSD exclusive actions:
  644. #
  645. # - CopySelection
  646. # Copy from the selection buffer.
  647. # - PasteSelection
  648. # Paste from the selection buffer.
  649. #
  650. # - `command`: Fork and execute a specified command plus arguments
  651. #
  652. # The `command` field must be a map containing a `program` string and an
  653. # `args` array of command line parameter strings. For example:
  654. # `{ program: "alacritty", args: ["-e", "vttest"] }`
  655. #
  656. # And optionally:
  657. #
  658. # - `mods`: Key modifiers to filter binding actions
  659. #
  660. # - Command
  661. # - Control
  662. # - Option
  663. # - Super
  664. # - Shift
  665. # - Alt
  666. #
  667. # Multiple `mods` can be combined using `|` like this:
  668. # `mods: Control|Shift`.
  669. # Whitespace and capitalization are relevant and must match the example.
  670. #
  671. # - `mode`: Indicate a binding for only specific terminal reported modes
  672. #
  673. # This is mainly used to send applications the correct escape sequences
  674. # when in different modes.
  675. #
  676. # - AppCursor
  677. # - AppKeypad
  678. # - Search
  679. # - Alt
  680. # - Vi
  681. #
  682. # A `~` operator can be used before a mode to apply the binding whenever
  683. # the mode is *not* active, e.g. `~Alt`.
  684. #
  685. # Bindings are always filled by default, but will be replaced when a new
  686. # binding with the same triggers is defined. To unset a default binding, it can
  687. # be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for
  688. # a no-op if you do not wish to receive input characters for that binding.
  689. #
  690. # If the same trigger is assigned to multiple actions, all of them are executed
  691. # in the order they were defined in.
  692. key_bindings:
  693. - { key: Paste, action: Paste }
  694. - { key: Copy, action: Copy }
  695. - { key: L, mods: Control, action: ClearLogNotice }
  696. - { key: L, mods: Control, mode: ~Vi|~Search, chars: "\x0c" }
  697. - { key: PageUp, mods: Shift, mode: ~Alt, action: ScrollPageUp }
  698. - { key: PageDown, mods: Shift, mode: ~Alt, action: ScrollPageDown }
  699. - { key: Home, mods: Shift, mode: ~Alt, action: ScrollToTop }
  700. - { key: End, mods: Shift, mode: ~Alt, action: ScrollToBottom }
  701. # Vi Mode
  702. #- { key: Space, mods: Shift|Control, mode: ~Search, action: ToggleViMode }
  703. #- { key: Space, mods: Shift|Control, mode: Vi|~Search, action: ScrollToBottom }
  704. #- { key: Escape, mode: Vi|~Search, action: ClearSelection }
  705. #- { key: I, mode: Vi|~Search, action: ToggleViMode }
  706. #- { key: I, mode: Vi|~Search, action: ScrollToBottom }
  707. #- { key: C, mods: Control, mode: Vi|~Search, action: ToggleViMode }
  708. #- { key: Y, mods: Control, mode: Vi|~Search, action: ScrollLineUp }
  709. #- { key: E, mods: Control, mode: Vi|~Search, action: ScrollLineDown }
  710. #- { key: G, mode: Vi|~Search, action: ScrollToTop }
  711. #- { key: G, mods: Shift, mode: Vi|~Search, action: ScrollToBottom }
  712. #- { key: B, mods: Control, mode: Vi|~Search, action: ScrollPageUp }
  713. #- { key: F, mods: Control, mode: Vi|~Search, action: ScrollPageDown }
  714. #- { key: U, mods: Control, mode: Vi|~Search, action: ScrollHalfPageUp }
  715. #- { key: D, mods: Control, mode: Vi|~Search, action: ScrollHalfPageDown }
  716. #- { key: Y, mode: Vi|~Search, action: Copy }
  717. #- { key: Y, mode: Vi|~Search, action: ClearSelection }
  718. #- { key: Copy, mode: Vi|~Search, action: ClearSelection }
  719. #- { key: V, mode: Vi|~Search, action: ToggleNormalSelection }
  720. #- { key: V, mods: Shift, mode: Vi|~Search, action: ToggleLineSelection }
  721. #- { key: V, mods: Control, mode: Vi|~Search, action: ToggleBlockSelection }
  722. #- { key: V, mods: Alt, mode: Vi|~Search, action: ToggleSemanticSelection }
  723. #- { key: Return, mode: Vi|~Search, action: Open }
  724. #- { key: Z, mode: Vi|~Search, action: CenterAroundViCursor }
  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
  815. # Highlight window damage information.
  816. #highlight_damage: false