alacritty.yml 31 KB

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