实际上有什么方法/插件能够快速跳转到会话吗?
目前我<leader>s
打开会话列表页面,然后选择我想要的一个。
如果我有一个我想经常跳到的会议,我不知道该怎么做。
答案1
您可能正在寻找“switch-client”命令
switchc -t <session name|number>
例子
# create a named session
tmux new -s 'main_session'
# to switch to it you would use the command
switchc -t 'main_session'
对于经常跳转的会话,如果每次都命名相同则可以为其绑定一个密钥。在你的 ~/.tmux.conf 文件中添加
bind J switchc -t 'main_session'
其他不错的选择是:
# last session used, great for toggling between two sessions
# tmux binds this command to 'L' by default
switchc -l
# to rotate through all sessions
switchc -n
# to go to a named session
command-prompt -p 'switch to session : ' 'switchc -t %1'
您可以将这些绑定添加到 ~/.tmux.conf
# rotate through sessions
bind R switchc -n
# go to a session by name
bind S command-prompt -p 'Session name : ' 'switchc -t %1'
答案2
我发现了这个很棒的 blob 帖子https://waylonwalker.com/tmux-fzf-session-jump/配置一个键(Ctrl-J
在下面的示例中)来弹出一个窗口以选择要切换到的会话。它用弗兹夫以交互方式搜索所有可用会话:
bind C-j new-window -n "session-switcher" "\
tmux list-sessions -F '#{?session_attached,,#{session_name}}' |\
sed '/^$/d' |\
fzf --reverse --header jump-to-session --preview 'tmux capture-pane -pt {}' |\
xargs tmux switch-client -t"
使用 tmux 3.2 及更高版本,还可以使用命令display-popup
创建弹出窗口:
bind C-j display-popup -E "\
tmux list-sessions -F '#{?session_attached,,#{session_name}}' |\
sed '/^$/d' |\
fzf --reverse --header jump-to-session --preview 'tmux capture-pane -pt {}' |\
xargs tmux switch-client -t"