Skip to content
Arthur edited this page Jul 16, 2024 · 35 revisions

Helix requires a fairly modern terminal for things like truecolor support. Helix also uses some optional terminal features to enhance its operation. The terminals in this table all meet Helix's basic requirements. The table summarizes their support for the optional features.

Focus Events Bracketed Paste Set OS Clipboard Extended Underlines Enhanced Keyboard Protocol
Alacritty
Kitty
Wezterm ✅ (with config)
foot
Rio ✅ (with config)
Windows Terminal (borked) ❌ (microsoft/terminal#11509)
iTerm2 ❌ (iterm2#10017)
Warp ❌ (warpdotdev/Warp#2528)
GNOME Terminal ❌ (vte#2601)
Ghostty

Unsupported Terminals

These terminals don't meet the basic requirements:

Chinese, Japanese and Korean script

These terminals have been reported to exhibit rendering issues for CJK characters on Windows:

Wezterm has been recommended for use on Windows in response.

Adding terminals

If a terminal isn't in the table, it doesn't mean that Helix doesn't work in it, just that no one has tested it. To add a terminal, please add an entry for it to the terminals section with the version you used and when you tested.

Terminal Features

Focus Events

Focus events can be emitted by a terminal when it gains or loses focus at the OS level. 3178 added an option to save when it loses focus.

Bracketed Paste

Bracketed paste lets a terminal tell an application that incoming characters are from the user pasting, not from typing. 3233 keeps pasted text from being autoformatted making pasting much faster.

Set OS Clipboard

Set clipboard lets an application running in a terminal set the clipboard in the surrounding OS. Helix supports setting the system clipboard with the "yank selection to clipboard" command, which is bound to space y by default.

When Helix is running directly on an OS that supports setting the clipboard, it'll use the OS's facilities to set the clipboard. That's xclip in X Windows, wl-copy on Wayland, pbcopy on MacOS, and direct API access on Windows.

On systems where that isn't availble, Helix will use this terminal feature to set the clipboard when 3220 lands. For example if you're SSH'd into a remote host, Helix will be able to set your OS clipboard if your terminal supports this feature.

Extended Underlines

Some terminals support Kitty's extended underlines.

Enhanced Keyboard Protocol

Some terminals support Kitty's progressive keyboard enhancement protocol. The enhanced keyboard protocol disambiguates the escape sequences for some keyboard events that are impossible to tell apart by default. For example the C-i key combination sends the same escape sequences to Helix as the Tab key and C-backspace sends the same escape sequences as C-h.

You can check if the enhanced keyboard protocol is supported by your terminal emulator and Helix by checking the log file when running in verbose mode with hx -vv. Helix versions with enhanced keyboard protocol support will print a debug line on start-up saying either "The keyboard enhancement protocol is supported in this terminal" or "The keyboard enhancement protocol is not supported in this terminal". If neither of those lines exist, you should use a newer version of Helix.

Some terminals have this protocol disabled by default. To enable it in WezTerm, see https://wezfurlong.org/wezterm/config/key-encoding.html#kitty-keyboard-protocol. Also, to enable it in Rio, see https://raphamorim.io/rio/docs/features/kitty-keyboard-protocol.

Terminals

Alacritty

Alacritty was tested using version 0.13.0-dev on 2023-12-06.

Kitty

Kitty was tested using version 0.25.2 on 2022-08-11.

Wezterm

Wezterm was tested using version 20220807-113146-c2fee766 on 2022-08-11.

foot

foot was tested using version 1.15.3 on 2023-09-07.

Rio

Rio was tested using version 0.0.18 on 2023-09-17.

Windows Terminal

Windows Terminal was testing using version 1.18.2822.0 on 2023-10-13.

Known Issues

Key Mappings

  • The default key mapping for the "Paste" action, Ctrl-v, conflicts with Helix.

iTerm2

iTerm2 was checked on 2024-01-19

Warp

Warp was tested using version v0.2024.02.06.08.02.stable_01 on 2024-02-15.

GNOME Terminal

GNOME Terminal was tested using version 23.10 on 2024-03-17.

Ghostty

Ghostty was tested unsing version 0.1.0-8a5826b-nix on 2024-07-16.

Unsupported Terminals

Terminal.app

As of version 2.12.7 (445) on Mac OS 12.5, it doesn't support truecolor.