Some time ago, I switched my daily terminal from kitty to alacritty due to issue regarding CJK input methods1. However, alacritty is known to not support tabs by design. There are at least two ways to enable tabs: through tabbed or tmux. Both are available in Ubuntu 20.04 package manager.
tabbed is kind of a wrapper that will equip alacritty with tabs. To open
tabbed, use the following command:
Some notable keybindings:
Ctrl+Shift+Retto open a new tab.
Ctrl+Shift+lto cycle tabs.
Ctrl+qto kill a tab.
tmux is probably one of the most-used terminal multiplexer. In
tabs are called windows. You may want to directly work under
tmux. To do so,
open alacritty with
tmux offers a bunch of features and customizability, but essentially, to just
tmux windows feature, note the following shortcuts:
- Create a window with
- Cycle forward/backward among windows with
- Kill a window with
Bonus: keep only one terminal instance
In my opinion, it’s not a good idea to keep multiple terminal windows: switching
among them is quickly irritating. Personally, I bind
Super+T to terminal and
keep a single instance by using
wmctrl. Concretely, combining up with the
wmctrl -x -a "tabbed" || tabbed alacritty --embed
wmctrl -x -a "alacritty" || alacritty -e tmux
The commands check if there is a terminal instance, if so focus on it, otherwise
create a new instance. You will have to wrap these commands in
bash -c '<command>' if you want to bind them in Ubuntu settings (Keyboard shortcuts >
Custom shortcuts). I use this tactic to bind the global keybindings I use 99% of
the time: namely
Super+C for browser,
Super+E for Emacs and
Super+T for terminal.
tabbed is light enough for people needing only tabs and no more. But I noticed
some encumbrances making me switched to
- Keybindings are hardcoded in config.def.h2, although you can easily change it and compile a local version, it might not be worth it.
- Ranger image preview doesn’t work anymore.
- The developpement is kind of inactive3.
In my case, I bound in Vim
:q!for years and was not ready to change it just for