tmux-tilit : better tiling for tmux 🪟🪓

2kabhishek

Abhishek Keshri

Posted on January 12, 2023

tmux-tilit : better tiling for tmux 🪟🪓

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:

GitHub logo 2KAbhishek / tmux-tilit

Better tiling for tmux 🪟🪓

License People Stars Forks Watches Last Updated

Better tiling for tmux 🪟🪓

tmux-tilit Demo
tmux-tilit screenshot

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) and tpm.

Installing tmux-tilit

To get tmux-tilit, add the following to your tmux.conf:

set -g @plugin '2kabhishek/tmux-tilit'
Enter fullscreen mode Exit fullscreen mode

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 and tpm.

Installing tmux-tilit

To get tmux-tilit, add the following to your ~/.tmux.conf:



set -g @plugin '2kabhishek/tmux-tilit'

Enter fullscreen mode Exit fullscreen mode




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

💖 💪 🙅 🚩
2kabhishek
Abhishek Keshri

Posted on January 12, 2023

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related