Skip to content

2KAbhishek/tmux-tea

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

46 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, 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 for a smoother experience.

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'

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"

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