Skip to content

2KAbhishek/tmux-tea

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

59 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

License People Stars Forks Watches Last Updated

tmux sessions as easy as tea β˜•πŸͺŸ

tmux-tea in action
tmux-tea in action

tmux-tea is a tmux session manager aimed at simplifying and speeding up how you interact with tmux sessions. It's a one key solution to all your tmux session needs.

✨ Features

  • Integrations with tmuxinator for session specific configs
  • Integrations with fzf for fuzzy search
  • Supports session previews
  • Integrations with zoxide for directory based session creation

Setup

⚑ Requirements

  • tmux, fd, fzf, zoxide (required)
  • tmuxinator (for session layouts)
  • eza (for directory previews)

πŸš€ Installation

Add the following to your ~/.tmux.conf

set -g @plugin '2kabhishek/tmux-tea'
cd ~/.tmux/plugins/tmux-tea # replace ~/.tmux/plugins with your plugin installation path
ln -sfnv $PWD/bin/tea.sh  ~/.local/bin/tea # Add tea to $PATH, make sure ~/.local/bin is in your $PATH

πŸ’» Usage

There are two ways to open tea

  • <prefix> - t, this can be configured with the @tea-bind option e.g: set -g @tea-bind "t"
  • Ctrl+t alternate binding, this can be configured with the @tea-alt-bind option, set it to "false" to disable

Keybindings

  • Ctrl+f - Directory mode
  • Ctrl+j - Zoxide mode
  • Ctrl+s - Session mode
  • Ctrl+w - Window mode
  • Ctrl+x - Kill mode
  • Ctrl+t - Toggle tea

tmuxinator integration

If you have a .tmuxinator.yml file in your directory, tea will use it for setting up your session.

If you have a tmuxinator config file in ~/.config/tmuxinator/ that has the same name as your tmux session directory then that will be used.

If none of these are present a tmux session is created from scratch.

default command

If there is no tmuxinator config present, you can set a default command to run in the session using:

set -g @tea-default-command "$EDITOR"

This will open every new session after the initial one with your "$EDITOR" command running.

zsh integration

If you use zsh you can add the <C-t> binding outside tmux as well using this sni[[ed]]

bindkey -s '^T' ' tea^M ^M'

show nth parts of the path

You can set tea-show-nth option to show parts of the path, default is to show the last two dirs.

# shows the second last (-2) and the last (-1) directories
set -g @tea-show-nth "-2,-1"
# if you want to show the last three directories
set -g @tea-show-nth "-3,-2,-1"

full session names

You can set the session name to be the full path you select instead of the directory using:

set -g @tea-session-name "full-path"

preview position

You can set the preview position to "top","bottom","left", or "right", default is "top".

set -g @tea-preview-position "bottom"

input position

You can set the input position to "default", "reverse" or "reverse-list", default is "reverse".

set -g @tea-layout "reverse"

default directory for find mode

Set the default directory used by the find mode, first fallback is $HOME/Projects, second fallback is $HOME.

set -g @tea-find-path "$HOME/Projects"
# You can also set it to the parent directory of PWD
set -g @tea-find-path "$PWD/.."

max depth for find mode

Set the max depth used by the find mode, default depth is "2".

set -g @tea-max-depth "3"

Behind The Code

🌈 Inspiration

tmux-tea was inspired by t-smart-tmux-session-manager and shares a lot of code.

I wanted to add some more features that diverged from the original repo and wanted to keep the configs simpler.

πŸ’‘ Challenges/Learnings

  • Figuring out the preview script was quite tricky.
  • Bash shenanigans!

🧰 Tooling

  • dots2k β€” Dev Environment
  • nvim2k β€” Personalized Editor
  • sway2k β€” Desktop Environment
  • qute2k β€” Personalized Browser

πŸ” More Info

  • tmux-tilit β€” Turns tmux into a terminal window manager
  • tmux2k β€” Makes your tmux statusbar pretty!

⭐ hit the star button if you found this useful ⭐

Source | Blog | Twitter | LinkedIn | More Links | Other Projects

About

tmux sessions as easy as tea β˜•πŸͺŸ

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Languages