The Deska blog
tmux to Zellij: Keybinding Translation Table
A technical guide for developers moving from tmux to Zellij including a keybinding translation table and how to manage terminal workflows in Deska.
· 10 min read
The transition from tmux to Zellij represents a shift from a classic, established terminal multiplexer to a modern engine designed for discovery and extensibility. While tmux relies on a prefix key and a steep learning curve, Zellij introduces a modal system similar to text editors like Vim. This guide provides a comprehensive tmux to Zellij keybinding translation table to help you maintain productivity during the switch. We will also explore how these tools fit into larger environments like Deska, where terminal sessions coexist with AI agents and graphical canvases.
The Paradigm Shift: Prefix vs. Modes
Traditional multiplexers like tmux require a prefix, usually Ctrl+b, before every command. This prevents accidental triggers but adds an extra keystroke to every action. Zellij takes a different approach by using modes. When you are in Pane mode, your keys behave differently than when you are in Tab mode.
This modal logic reduces the cognitive load of remembering complex sequences. Instead of memorizing dozens of combinations starting with a prefix, you simply enter a mode and use single keys. If you prefer the old way, Zellij does offer a locked mode that acts similarly to a prefix system. However, most users find the default UI hints at the bottom of the screen helpful for learning the new workflow quickly.
tmux to Zellij Keybinding Translation Table
The following table maps the most common tmux commands to their Zellij equivalents. Note that in Zellij, many of these shortcuts are accessible after entering a specific mode, such as Ctrl+p for Pane mode or Ctrl+t for Tab mode.
| Action | tmux Shortcut (Default) | Zellij Shortcut (Default) |
|---|---|---|
| Enter Command Mode | Prefix + : | Ctrl+s (Scroll) or Ctrl+g (Lock) |
| Vertical Split | Prefix + % | Ctrl+p then n (Right) |
| Horizontal Split | Prefix + " | Ctrl+p then d (Down) |
| New Tab/Window | Prefix + c | Ctrl+t then n |
| Close Current Pane | Prefix + x | Ctrl+p then x |
| Move Between Panes | Prefix + Arrows | Alt + Arrows (Direct) |
| Resize Panes | Prefix + Ctrl+Arrows | Ctrl+n then + or - |
| Toggle Fullscreen | Prefix + z | Ctrl+p then f |
| Detach Session | Prefix + d | Ctrl+o then d |
| Rename Tab | Prefix + , | Ctrl+t then r |
Layouts and Configuration
One of the most powerful features of Zellij is its KDL based layout system. While tmux uses complex shell scripts or plugins like tmuxinator to save session states, Zellij uses a declarative format. You can define exactly how your terminal windows should look before you even start the program.
Layouts allow you to specify which panes should run specific commands, their sizes, and their positions. This is particularly useful for microservices architectures where you might need four terminals running different logs simultaneously. Zellij also includes a plugin system written in WebAssembly. This allows for interactive UI elements within the terminal that go beyond what simple ANSI escape codes can provide in older tools.
Modern Workspaces: Beyond the Terminal
Multiplexers are excellent for CLI focused work, but modern development often requires a mix of tools. This is where a workspace like Deska provides a broader context. While Zellij manages panes inside a single terminal window, Deska allows you to place multiple terminal instances on an infinite canvas.
You can download the app for Mac, Windows or Linux at /download to see this in action. Within a Deska workspace, you are not limited to text. You can place a terminal running Zellij right next to a Monaco code editor or a live browser preview. This layout is persistent and local-first, meaning your data and storage remain on your own machine.
The canvas approach solves a common problem with multiplexers: the lack of visual space. Instead of cramming six small panes into one terminal window, you can spread them out across the canvas and zoom out to see the big picture. You can learn more about managing these layouts in the workspaces documentation.
Integrating AI Agents into the Flow
Another advantage of moving toward modern tools is better integration with AI. While you can run CLI agents inside Zellij, Deska provides a dedicated environment for coding agents like Claude Code and OpenCode. These agents run as independent panels side by side with your terminals.
Using the Ask Deska feature, you can even use voice or chat to interact with your workspace. You might ask the assistant to open a new terminal session or check on a process while you focus on the Zellij pane where you are editing code. This hybrid approach combines the precision of the command line with the efficiency of AI orchestration.
Persistent Sessions and Mobile Access
A major reason developers use tmux is session persistence. If your SSH connection drops, your work remains. Zellij offers similar functionality with its session attachment features. Deska extends this concept through a mobile app that allows you to monitor these sessions remotely.
The mobile connection uses a secure relay that pairs devices directly without exposing ports to the internet. This means you can check the output of a long running script in your Zellij session from your phone while away from your desk. The underlying sessions stay on your local machine, adhering to the local-first philosophy.
Summary of Migration Steps
If you are ready to make the switch, follow these steps to ensure a smooth transition:
- Install Zellij using your preferred package manager.
- Spend a day using the default UI hints to learn the modes.
- Map your most used tmux custom aliases to the Zellij
config.kdlfile. - Experiment with layouts to replace manual pane creation.
- Consider using a canvas like Deska to organize multiple Zellij sessions alongside other tools.
For those who rely heavily on specialized terminal features, the terminals documentation provides additional details on how to optimize your environment.
Frequently Asked Questions
How to use tmux shortcuts in Zellij?
Zellij allows you to remap keys in its configuration file. You can create a layout that mimics the tmux prefix system by using the locked mode or by mapping Ctrl+b to trigger the pane or tab modes.
Does Zellij support mouse control?
Yes, Zellij supports mouse interaction by default. You can click to switch panes, drag to resize, and use the scroll wheel to move through terminal history without needing to enter a specific scroll mode manually.
Can I run Zellij inside Deska?
Absolutely. You can open a terminal panel in Deska and run Zellij within it. This allows you to use Zellij for local pane management while using the Deska canvas to manage higher level groupings of apps and agents.
Get Started with Deska
If you are looking for a way to organize your terminal workflows, code editors, and AI agents in one place, try Deska. The infinite canvas workspace is free and available for all major desktop platforms. You can bring your own API keys for AI features or use managed inference.
Visit /download to get the latest version and start building your ideal developer environment.