mirror of
https://github.com/alacritty/alacritty.git
synced 2024-11-25 14:05:41 -05:00
84 lines
3.7 KiB
Markdown
84 lines
3.7 KiB
Markdown
# Features
|
|
|
|
This document gives an overview over Alacritty's features beyond its terminal
|
|
emulation capabilities. To get a list with supported control sequences take a
|
|
look at [Alacritty's escape sequence support](./escape_support.md).
|
|
|
|
## Vi Mode
|
|
|
|
The vi mode allows moving around Alacritty's viewport and scrollback using the
|
|
keyboard. It also serves as a jump-off point for other features like search and
|
|
opening URLs with the keyboard. By default you can launch it using
|
|
<kbd>Ctrl</kbd> <kbd>Shift</kbd> <kbd>Space</kbd>.
|
|
|
|
### Motion
|
|
|
|
The cursor motions are setup by default to mimic vi, however they are fully
|
|
configurable. If you don't like vi's bindings, take a look at the configuration
|
|
file to change the various movements.
|
|
|
|
### Selection
|
|
|
|
One useful feature of vi mode is the ability to make selections and copy text to
|
|
the clipboard. By default you can start a selection using <kbd>v</kbd> and copy
|
|
it using <kbd>y</kbd>. All selection modes that are available with the mouse can
|
|
be accessed from vi mode, including the semantic (<kbd>Alt</kbd> <kbd>v</kbd>),
|
|
line (<kbd>Shift</kbd> <kbd>v</kbd>) and block selection (<kbd>Ctrl</kbd>
|
|
<kbd>v</kbd>). You can also toggle between them while the selection is still
|
|
active.
|
|
|
|
## Search
|
|
|
|
Search allows you to find anything in Alacritty's scrollback buffer. You can
|
|
search forward using <kbd>Ctrl</kbd> <kbd>Shift</kbd> <kbd>f</kbd> (<kbd>Command</kbd> <kbd>f</kbd> on macOS) and
|
|
backward using <kbd>Ctrl</kbd> <kbd>Shift</kbd> <kbd>b</kbd> (<kbd>Command</kbd> <kbd>b</kbd> on macOS).
|
|
|
|
### Vi Search
|
|
|
|
In vi mode the search is bound to <kbd>/</kbd> for forward and <kbd>?</kbd> for
|
|
backward search. This allows you to move around quickly and help with selecting
|
|
content. The `SearchStart` and `SearchEnd` keybinding actions can be bound if
|
|
you're looking for a way to jump to the start or the end of a match.
|
|
|
|
### Normal Search
|
|
|
|
During normal search you don't have the opportunity to move around freely, but
|
|
you can still jump between matches using <kbd>Enter</kbd> and <kbd>Shift</kbd>
|
|
<kbd>Enter</kbd>. After leaving search with <kbd>Escape</kbd> your active match
|
|
stays selected, allowing you to easily copy it.
|
|
|
|
## Hints
|
|
|
|
Terminal hints allow easily interacting with visible text without having to
|
|
start vi mode. They consist of a regex that detects these text elements and then
|
|
either feeds them to an external application or triggers one of Alacritty's
|
|
built-in actions.
|
|
|
|
Hints can also be triggered using the mouse or vi mode cursor. If a hint is
|
|
enabled for mouse interaction and recognized as such, it will be underlined when
|
|
the mouse or vi mode cursor is on top of it. Using the left mouse button or
|
|
<kbd>Enter</kbd> key in vi mode will then trigger the hint.
|
|
|
|
Hints can be configured in the `hints` and `colors.hints` sections in the
|
|
Alacritty configuration file.
|
|
|
|
## Selection expansion
|
|
|
|
After making a selection, you can use the right mouse button to expand it.
|
|
Double-clicking will expand the selection semantically, while triple-clicking
|
|
will perform line selection. If you hold <kbd>Ctrl</kbd> while expanding the
|
|
selection, it will switch to the block selection mode.
|
|
|
|
## Opening URLs with the mouse
|
|
|
|
You can open URLs with your mouse by clicking on them. The modifiers required to
|
|
be held and program which should open the URL can be setup in the configuration
|
|
file. If an application captures your mouse clicks, which is indicated by a
|
|
change in mouse cursor shape, you're required to hold <kbd>Shift</kbd> to bypass
|
|
that.
|
|
|
|
## Multi-Window
|
|
|
|
Alacritty supports running multiple terminal emulators from the same Alacritty
|
|
instance. New windows can be created either by using the `CreateNewWindow`
|
|
keybinding action, or by executing the `alacritty msg create-window` subcommand.
|