Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/2KAbhishek/tmux-tilit
Better tiling for tmux 🪟🪓
https://github.com/2KAbhishek/tmux-tilit
cli linux plugin tiling tmux utility wm
Last synced: 3 months ago
JSON representation
Better tiling for tmux 🪟🪓
- Host: GitHub
- URL: https://github.com/2KAbhishek/tmux-tilit
- Owner: 2KAbhishek
- License: gpl-3.0
- Created: 2022-11-30T05:55:56.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-07-28T19:37:41.000Z (3 months ago)
- Last Synced: 2024-07-28T20:46:47.770Z (3 months ago)
- Topics: cli, linux, plugin, tiling, tmux, utility, wm
- Language: Shell
- Homepage:
- Size: 264 KB
- Stars: 22
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-tmux - tmux-tilit - tilish focusing on simplicity. (Plugins)
README
## 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`](https://github.com/tmux-plugins/tpm).
## Installing tmux-tilit
To get tmux-tilit, add the following to your `tmux.conf`:
```bash
set -g @plugin '2kabhishek/tmux-tilit'
```## Using tmux-tilit
### Keybindings
All the configured keybindings can be found in the [keybinding manual here](./docs/keybindings.md).
### 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][4] and for vim use [vim-tmux-navigator][5]
Then, in your `~/.tmux.conf` add:
```bash
set -g @tilit-navigator 'on'
```This will let you seamlessly navigate between vim/neovim splits and tmux panes with Ctrl + hjkl.
[4]: https://github.com/numToStr/Navigator.nvim
[5]: https://github.com/christoomey/vim-tmux-navigator#### `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:
```bash
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:
```bash
# US Keyboard
set -g @tilit-shiftnum '!@#$%^&*()'
# UK Keyboard
set -g @tilit-shiftnum '!"£$%^&*()'
```## How I built this
Major credits to [tmux-tilish](https://github.com/jabirali/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](https://github.com/2kabhishek/dots2k) — Dev Environment
- [nvim2k](https://github.com/2kabhishek/nvim2k) — Personalized Editor
- [sway2k](https://github.com/2kabhishek/sway2k) — Desktop Environment
- [qute2k](https://github.com/2kabhishek/qute2k) — Personalized Browser### 🔍 More Info
- [tmux-tea](https://github.com/2kabhishek/tmux-tea) — Simple and powerful tmux session manager
- [tmux2k](https://github.com/2kabhishek/tmux2k) — Makes your tmux statusbar pretty!