Rex is a terminal multiplexer from Superlogical. I wrote about why I’m trying it; this is the shortcut reference I keep nearby as I learn it. These are the defaults in the macOS beta.
Rex doesn’t use a prefix key. Every shortcut is a regular macOS key combination, such as Cmd+D.
The shortcut to learn first
Cmd+Shift+P opens the command palette, a searchable list of every action, session, and tab. Each action shows its shortcut, so it is also the quickest way to look one up.
| Key | Action |
|---|---|
Enter |
Run the selected action |
Cmd+Enter |
Change the selected action’s shortcut |
Actions without a shortcut, such as Rename Session, Rename Tab, and Move Pane to Tab, are only a palette search away.
Sessions
| Key | Action |
|---|---|
Cmd+K |
Change session |
Cmd+Shift+N |
Create a session |
Cmd+R |
Refresh sessions |
Tabs
| Key | Action |
|---|---|
Cmd+T |
Create a tab |
Ctrl+Tab / Ctrl+Shift+Tab |
Go to the next or previous tab |
Ctrl+Shift+PageUp / Ctrl+Shift+PageDown |
Move the tab up or down |
Cmd+Option+W |
Close the tab |
Panes
| Key | Action |
|---|---|
Cmd+D |
Split the pane to the right |
Cmd+Shift+D |
Split the pane downward |
Cmd+Shift+Up / Cmd+Shift+Left |
Split the pane upward or to the left |
Cmd+Enter |
Split the pane wherever there is the most room |
Cmd+Option+Arrow |
Move focus to the pane in that direction |
Cmd+] / Cmd+[ |
Move focus to the next or previous pane |
Cmd+Shift+Enter |
Zoom or restore the focused pane |
Windows and directories
| Key | Action |
|---|---|
Cmd+N |
Open a window |
Cmd+Shift+G |
Go to a directory |
Changing shortcuts
Rex reads its configuration from ~/.config/rex/init.lua. A shortcut binds a key to an action:
rex.bind("cmd+e", "pane.zoom")
rex.bind("shift+cmd+d", "pane.split", { direction = "down" })
Run rex config reload after editing the file. Shortcuts changed from the command palette take priority over the configuration file, so check the palette if a binding seems to do nothing.