A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
Features
- Runs on Linux, macOS, Windows 10 and FreeBSD
- Multiplex terminal panes, tabs and windows on local and remote hosts, with native mouse and scrollback
- Ligatures, Color Emoji and font fallback, with true color and dynamic color schemes.
- Hyperlinks
- Searchable Scrollback (use mouse wheel and Shift-PageUp and Shift PageDown to navigate, Ctrl-Shift-F to activate search mode)
- xterm style selection of text with mouse; paste selection via Shift-Insert (bracketed paste is supported!)
- SGR style mouse reporting (works in vim and tmux)
- Render underline, double-underline, italic, bold, strikethrough (most other terminal emulators do not support as many render attributes)
- Configuration via a configuration file with hot reloading
- Multiple Windows (Hotkey: Super-N)
- Splits/Panes (Split horizontally/vertically: Ctrl-Shift-Alt-% and Ctrl-Shift-Alt-", move between panes: Ctrl-Shift-ArrowKey)
- Tabs (Hotkey: Super-T, next/prev: Super-Shift-[ and Super-Shift-], go-to: Super-[1-9])
- SSH client with native tabs
- Connect to serial ports for embedded/Arduino work
- Connect to a local multiplexer server over unix domain sockets
- Connect to a remote multiplexer using SSH or TLS over TCP/IP
- iTerm2 compatible image protocol support, and built-in imgcat command
- Kitty graphics support
- Sixel graphics support (experimental: starting in 20200620-160318-e00b076c)
I switched to this a few weeks ago after the HN post. It’s good, and has a real deep configuration ability.
I tried this a few months back because I wanted ligature support without ugly hacks and really liked it except for the noticeable delay in opening a terminal window. xfce4-term, kitty, and alacritty pop up immediately while wezterm was slightly delayed.
For context, I have a bad habit of typing my command immediately after hitting the hotkey and it was slightly annoying to see the first few characters of my commands cut off and having to go back and re-enter. It happened only with wezterm so I know that was the cause.
Once the term window is open, its pretty great and has sane defaults. I may revisit it in the future on my daily-driver profile if I ever get bored of the current setup. For now it stays on my Rust-only profile (wezterm, nushell, zellij, leftwm with a slow transition to a custom penrose build).
For me, I tried WezTerm for flexible configuration with lua.
Out of the rust terminals I have tried, alacritty has thr lowest memory consumption and has all the features I need (ligature not included).