I no longer use tmux cuz i'm in windows now and i switch to video editor so i think, I no longer dev new feat but you can. Welcome Pull request or be the active maintainer
- Session + window name fuzzy search and switch.
- Create a new session
- tmux-fzf have more black magic.
- tmux-fzf have single shortcut for switch session and many function tmux-fzf had.
One single shortcut for switching sessions, windows, and creating new sessions. This makes simple flow, "i want to go to ? press shortcut type ? enter done.", "i want to go to ?, press shortcut type ?, Uh! not have that okay press enter to create new session with? name"
Blazingly fast Tmux workflow, built muscle memory, better DX.
Becoming Chad, have super black magic power like tmux-fzf
"Don't confirm y
to create a new session". This one different flow from the original repo. So that's why I don't push requests into the original repo.
- Video:
- Tutorial: https://youtu.be/WJEphxyKAbw
- Demo v2, session + window search: https://youtu.be/XWdDwQJgUmw
- Install the tpm Tmux Plugin Manager.
- Put
set -g @plugin 'thuantanphamfilms/tmux-fzf-session-switch'
into your tmux config - Use tpm to install this plugin. Default you can press
prefix + I
(I
isshift + i
= I) Prefix + Ctrl + f
: Open up fzf in a new tab. (e.g. prefix = ctrl + b. Hold ctrl -> press a -> press f -> done)- If you type a name that doesn't exist, you will be prompted to create it.
If this name conflicts with another session name -> add a double/single quotes
'example'
- Tmux >= 3.3a
pop-up menu
- fzf
🫰Thanks to @erikw
set-option -g @fzf-goto-session-only 'true'
set -g @fzf-goto-session 'key binding'
Eg. to override the default session switcher in tmux available at
prefix
+ s`:
set -g @fzf-goto-session 's'
set -g @fzf-goto-session-without-prefix 'true'
set -g @fzf-goto-win-width WIDTH
set -g @fzf-goto-win-height HEIGHT
Eg.
set -g @fzf-goto-win-width 70
set -g @fzf-goto-win-height 20
function tmuxSessionSwitch() {
session=$(tmux list-windows -a | fzf | sed 's/: .*//g')
tmux switch-client -t "$session"
}
function tmux_kill_uname_session() {
echo "kill all unname tmux session"
cd /tmp/
tmux ls | awk '{print $1}' | grep -o '[0-9]\+' >/tmp/killAllUnnameTmuxSessionOutput.sh
sed -i 's/^/tmux kill-session -t /' killAllUnnameTmuxSessionOutput.sh
chmod +x killAllUnnameTmuxSessionOutput.sh
./killAllUnnameTmuxSessionOutput.sh
cd -
tmux ls
}
use with
clear
command is the best
alias clear='tmux_kill_uname_session ; clear -x'
- In my use case, I don't use this keybinding for switch sessions, I use
hold space + ;
mapping forhold Ctrl + a + f
- How can I use
hold space + ;
mapping? -> I use input remapper, also you can see my dotfiles
config in GUI
space: if_single(key(KEY_SPACE), ,timeout=10000)
space + semicolon: KEY_RIGHTCTRL+a+f