tmux-tilit brings tiling window manager features and intuitive keybindings to your tmux workflows, boosting your productivity like never before.
- Intuitive Tiling Management: Split and arrange panes, layouts, workspaces with intuitive keybindings similar to tiling window managers
- Vim/Neovim Integration: Seamless navigation between vim/neovim splits and tmux panes with Navigator support
- External Tools: Integration with utilities like lazygit, extrakto for text grabbing and tdo for notes management
- Session Management: Integration with tea for session management
- Prefix Mode: Optional prefix mode for compatibility with window managers that use Alt as default modifier
- International Keyboard Support: Configurable shift+number mappings for different keyboard layouts
Before you begin, ensure you have met the following requirements:
- You have installed the latest version of
tmux (>= 3.0)andtpm.
To get tmux-tilit, add the following to your tmux.conf:
set -g @plugin '2kabhishek/tmux-tilit'| Keybinding | Action |
|---|---|
| Alt + ` | Last active window |
| Alt + , | Rename current window |
| Alt + / | Horizontal Split |
| Alt + </kbd> | Vertical Split |
| Alt + [ or ] | Focus prev/next window |
| Alt + - / = | Increase / Decrease width |
| Alt + β/β/β/β | Resize pane in direction |
| Alt + 0-9 | Switch to window 0-9 |
| Alt + Enter | Create a new pane |
| Alt + Shift + 0-9 | Move pane to window 0-9 |
| Alt + Shift + C | Customize mode |
| Alt + Shift + D | Detach |
| Alt + Shift + E | Layout: Even Horizontal |
| Alt + Shift + H/J/K/L | Move pane in direction |
| Alt + Shift + I | Open tilit keybindings |
| Alt + Shift + M | Layout: Main Horizontal |
| Alt + Shift + R | Rotate window |
| Alt + Shift + T | Layout: Tiled |
| Alt + Shift + X | Close window |
| Alt + a | Command mode |
| Alt + b | Toggle status bar |
| Alt + c | Edit config |
| Alt + d | Run launcher, dexe |
| Alt + e | Layout: Even Vertical |
| Alt + f | Text grab, extrakto |
| Alt + g | Open lazygit |
| Alt + h/j/k/l | Focus pane in direction |
| Alt + i | Synchronize pane inputs |
| Alt + m | Layout: Main Vertical |
| Alt + n | Show daily todos tdo |
| Alt + N | Search all notes tdo |
| Alt + o | Open floating terminal |
| Alt + p | Last active pane |
| Alt + q | Close session |
| Alt + r | Reload config |
| Alt + s | Switch between all panse |
| Alt + t | Session manager tea |
| Alt + T | Show all pending tdo |
| Alt + w | Move pane to new window |
| Alt + x | Close pane |
| Alt + y | Copy mode |
| Alt + z | Layout: Zoom |
| Shift + β/β | Focus prev/next window |
tmux-tilit sets up keybindings that work with the tmux prefix key:
| Keybinding | Action |
|---|---|
| H/J/K/L | Resize pane in direction |
| r | Reload config |
Default
prefixkey is Ctrl + b, I recommend Ctrl + a
You can remap the prefix key by adding this to your tmux.conf:
# Change prefix
set -g prefix C-a
bind C-a send-prefixEnable copy mode by pressing Alt + y:
This mode supports vi navigation keys by default
| Keybinding | Action |
|---|---|
| y | Copy |
| Ctrl + v | Toggle block/rectangle mode |
| v | Start selection |
| V | Line selection |
To navigate using arrow keys, you can enable easy mode with: set -g @tilit-easymode 'on'
The revised keybindings for the pane focus and movement then become:
| Keybinding | Description |
|---|---|
| Alt + β/β/β/β | Focus pane in direction |
| Alt + Shift + β/β/β/β | Move pane in direction |
| Alt + h/j/k/l | Resize pane in direction |
You can set the default layout with set -g @tilit-default 'layout', this will be used when creating new windows or panes.
Available layouts are:
main-verticalmain-horizontaltiledeven-verticaleven-horizontal
To setup navigation with neovim install Navigator.nvim and for vim use vim-tmux-navigator
Then, in your ~/.tmux.conf add:
set -g @tilit-navigator 'on'This will let you seamlessly navigate between vim/neovim splits and tmux panes with Ctrl + hjkl.
If your window manager uses Alt as default modifier, it's recommended to switch to Super or Meta for a smoother experience.
If you do not want to do that you can enable prefix mode and faster repeat-time in tmux:
set -g @tilit-prefix 'M-space'
set -g repeat-time 1000This will let you hit Alt + Space and then a key to perform an action, repeat time lets you run more actions with a single prefix.
You can set the @tilit-shiftnum option to match your keyboard layout:
# US Keyboard
set -g @tilit-shiftnum '!@#$%^&*()'
# UK Keyboard
set -g @tilit-shiftnum '!"Β£$%^&*()'Major credits to tmux-tilish for the inspiration I wanted to add some new commands and integrations, make the keybindings match better with tmux defaults.
Making sure the keybindings work across different command line programs and environments was challenging.
- Learned more about the tmux api.
You tell me!
Hit the β button if you found this useful.