If you have used tmux then you already know that tmux provides ways to create multiple panes on your terminal among many other things.
You might have also felt that the default way of doing these things is kind of clumsy and doesn't feel natural.
Introducing tmux-tilit:
2KAbhishek / tmux-tilit
Better tiling for tmux 🪟🪓
What is this
tmux-tilit brings tiling window manager features and smooth keybindings to your tmux sessions, boosting your productivity like never before.
Prerequisites
Before you begin, ensure you have met the following requirements:
- You have installed the latest version of
tmux (>= 3.0)
andtpm
.
Installing tmux-tilit
To get tmux-tilit, add the following to your tmux.conf
:
set -g @plugin '2kabhishek/tmux-tilit'
Using tmux-tilit
Keybindings
All the configured keybindings can be found in the keybinding manual here.
Customizing tmux-tilit
easymode
for arrow key navigation
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 |
layout
for customizing default
…What is this
tmux-tilit is a tmux plugin that adds tiling window manager like features and keybindings to tmux.
Inspiration
tmux-tilit was inspired by tmux-tilish.
I wanted to add some new commadns, make the keybindings match better with tmux's defaults, hence tilit was born!
Prerequisites
Before you begin, ensure you have met the following requirements:
- You have installed the latest version of
tmux
andtpm
.
Installing tmux-tilit
To get tmux-tilit, add the following to your ~/.tmux.conf
:
set -g @plugin '2kabhishek/tmux-tilit'
Using tmux-tilit
Keybindings
Finally, here is a list of the actual keybindings. Most are [taken from i3wm
][1].
Below, a "workspace" is what tmux
would call a "window" and vim
would call a "tab",
while a "pane" is what i3wm
would call a "window" and vim
would call a "split".
Keybinding | Description |
---|---|
Alt + 0-9 | Switch to workspace number 0-9 |
Alt + Shift + 0-9 | Move pane to workspace 0-9 |
Alt + hjkl | Move focus left/down/up/right |
Alt + Shift + hjkl | Move pane left/down/up/right |
Alt + Enter | Create a new pane at "the end" of the current layout |
Alt + - | Horizontal Split |
Alt + </kbd> | Vertical Split |
Alt + s | Switch to layout: split then vsplit |
Alt + Shift + s | Switch to layout: only split |
Alt + v | Switch to layout: vsplit then split |
Alt + Shift + v | Switch to layout: only vsplit |
Alt + t | Switch to layout: fully tiled |
Alt + z | Switch to layout: zoom (fullscreen) |
Alt + Shift + r | Refresh current layout |
Alt + n | Name current workspace |
Alt + x | Quit (close) pane |
Alt + d | Exit (detach) tmux
|
Alt + r | Reload config |
For detailed instructions please read DOCS
How it was built
tmux-tilit was built using neovim
Challenges faced
Making sure the keybindings work accross different cli programs was challenging.
What I learned
- Learned more about the tmux api.
What's next
You tell me!
Hit the ⭐ button if you found this useful.
More Info
Major credits to tmux-tilish
Also checkout the nice powerline plugin you see on the screenshot, tmux2k
Top comments (0)