/tmux-tilit

Better tiling for tmux 🪟🪓

Primary LanguageShellGNU General Public License v3.0GPL-3.0

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 intuitive keybindings to your tmux workflows, 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'

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 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:

  • main-vertical
  • main-horizontal
  • tiled
  • even-vertical
  • even-horizontal

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 Ctrl + hjkl.

prefix for integrating with window managers

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 1000

This 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.

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

  • Learned more about the tmux api.

What's next

You tell me!

Hit the ⭐ button if you found this useful.

🧰 Tooling

  • dots2k — Dev Environment
  • nvim2k — Personalized Editor
  • sway2k — Desktop Environment
  • qute2k — Personalized Browser

🔍 More Info

  • tmux-tea — Simple and powerful tmux session manager
  • tmux2k — Makes your tmux statusbar pretty!

Source | Website