Home

Awesome

<div align = "center"> <h1><a href="https://2kabhishek.github.io/tmux-tilit">tmux-tilit</a></h1> <a href="https://github.com/2KAbhishek/tmux-tilit/blob/main/LICENSE"> <img alt="License" src="https://img.shields.io/github/license/2kabhishek/tmux-tilit?style=flat&color=eee&label="> </a> <a href="https://github.com/2KAbhishek/tmux-tilit/graphs/contributors"> <img alt="People" src="https://img.shields.io/github/contributors/2kabhishek/tmux-tilit?style=flat&color=ffaaf2&label=People"> </a> <a href="https://github.com/2KAbhishek/tmux-tilit/stargazers"> <img alt="Stars" src="https://img.shields.io/github/stars/2kabhishek/tmux-tilit?style=flat&color=98c379&label=Stars"></a> <a href="https://github.com/2KAbhishek/tmux-tilit/network/members"> <img alt="Forks" src="https://img.shields.io/github/forks/2kabhishek/tmux-tilit?style=flat&color=66a8e0&label=Forks"> </a> <a href="https://github.com/2KAbhishek/tmux-tilit/watchers"> <img alt="Watches" src="https://img.shields.io/github/watchers/2kabhishek/tmux-tilit?style=flat&color=f5d08b&label=Watches"> </a> <a href="https://github.com/2KAbhishek/tmux-tilit/pulse"> <img alt="Last Updated" src="https://img.shields.io/github/last-commit/2kabhishek/tmux-tilit?style=flat&color=e06c75&label="> </a> <h3>Better tiling for tmux 🪟🪓</h3> <figure> <img src= "images/screenshot.png" alt="tmux-tilit Demo"> <br/> <figcaption>tmux-tilit screenshot</figcaption> </figure> </div>

What is this

tmux-tilit brings tiling window manager features and intuitive keybindings to your tmux workflows, boosting your productivity like never before.

Prerequisites

Before you begin, ensure you have met the following requirements:

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:

KeybindingDescription
<kbd>Alt</kbd> + <kbd>←/↓/↑/→</kbd>Focus pane in direction
<kbd>Alt</kbd> + <kbd>Shift + ←/↓/↑/→</kbd>Move pane in direction
<kbd>Alt</kbd> + <kbd>h/j/k/l</kbd>Resize pane in direction

layout for customizing default layout

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:

navigator for integrating with vim/neovim

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 <kbd>Ctrl</kbd> + <kbd>h</kbd><kbd>j</kbd><kbd>k</kbd><kbd>l</kbd>.

prefix for integrating with window managers

If your window manager uses <kbd>Alt</kbd> as default modifier, it's recommended to switch to <kbd>Super</kbd> or <kbd>Meta</kbd> 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 1000

This will let you hit <kbd>Alt</kbd> + <kbd>Space</kbd> and then a key to perform an action, repeat time lets you run more actions with a single prefix.

shiftnum for working with international keyboards

You can set the @tilit-shiftnum option to match your keyboard layout:

# US Keyboard
set -g @tilit-shiftnum '!@#$%^&*()'
# UK Keyboard
set -g @tilit-shiftnum '!"£$%^&*()'

How I built this

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.

Challenges faced

Making sure the keybindings work across different command line programs and environments was challenging.

What I learned

What's next

You tell me!

Hit the ⭐ button if you found this useful.

🧰 Tooling

🔍 More Info

<div align="center">

<a href="https://github.com/2KAbhishek/tmux-tilit">Source</a> | <a href="https://2kabhishek.github.io/tmux-tilit">Website</a>

</div>