Skip to content

2KAbhishek/tmux-tilit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

40 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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

Keybinding Description
Alt + 0-9 Switch to window 0-9
Alt+Shift + 0-9 Move pane to window 0-9
Alt + h/j/k/l Move focus to pane
Alt + H/J/K/L Move pane in window
Alt + Enter Create a new pane
Alt + - Horizontal Split
Alt + \ Vertical Split
Alt + a Show all notes, tdo
Alt + b Toggle status bar
Alt + d tmux dmenu launcher
Alt + D Detach
Alt + f Text grab, extrakto
Alt + g Open lazygit
Alt + n Name current workspace
Alt + o Open floating terminal
Alt + r Reload config
Alt + R Refresh current layout
Alt + s Show all sessions
Alt + t Session manager, tea
Alt + w Show all windows
Alt + x Close pane
Alt + e Layout: Even Vertical
Alt + E Layout: Even Horizontal
Alt + m Layout: Main Vertical
Alt + M Layout: Main Horizontal
Alt + T Layout: Tiled
Alt + z Layout: Zoom
Alt + [/] Focus prev/next window
Shift + ←/β†’ Focus prev/next window

Integrating with Neovim/Vim

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 splits and tmux panes with Ctrl + hjkl.

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.

Easy Mode

To navigate using arrow keys, you can enable easy-mode

set -g @tilit-easymode 'on'

The revised keybindings for the pane focus and movement then become:

Keybinding Description
Alt + ←↓↑→ Move focus left/down/up/right
Alt + Shift + ←↓↑→ Move pane left/down/up/right

More Configs

# Default Workspace
set -g @tilit-default 'main-vertical'

# Sane defaults
set -s escape-time 0
set -g base-index 1
set -g repeat-time 1000

# Enable application launcher
set -g @tilit-dmenu 'on'

# Fix Shift + num keybinding for international keyboards
set -g @tilit-shiftnum '!"Β£$%^&*()' # for UK layout

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!

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Languages