您尚未登录。

#1 2022-03-19 17:18:54

ifnk
会员
注册时间: 2021-01-25
帖子: 93

tmux如何快速切换session

我安装了 oh-my-tmux ,然后 创建了 很多 session ,里面 不同的项目 并且给他们起名字

传统 的 切换 session 我这里是 ctrl+ a  , w  然后根据方向键 来 切换 session


test

但是这样很麻烦 ,而且不支持 模糊搜索 

我在 github上面 找到 了 tmux-fzf 项目   https://github.com/sainnhe/tmux-fzf 

安装了以后 这个 也有点麻烦 , 他是 要按  ctrl +  a  , shift+f  才能出来  ,而且是 一级套一级的 ,切换 session 更麻烦 了 ,如下面 的动图

LNoWwWl.gif

要先把 fzf 调出来 ,然后 先选择 session / window/ pane 等 ,然后 再执行动作  attach /kill / detach  等等 ,最后 才会出现 你要 切换 的 session 名 ,

实在是 太费劲了 ,但是看 github 上面的仓库  文档 ,也没说 怎么 简化下 ,

请教下 各位  怎么 快速 模糊搜索 切换  tmux session 的 ?

离线

#2 2022-03-19 18:49:40

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,964
个人网站

Re: tmux如何快速切换session

不知道你想怎么快速。tmux 自带的 session 切换工具就挺快的啊,那个地方不光能用上下方向键选择,也可以按开头括号里的键直接跳转。
你那个 fzf 的用法太复杂了……直接把 session 名列出来喂给它,拿到结果就切过去,就满足你的需求了。
我不需要模糊搜索 session。我就那么几个 session,也不怎么切换的。

离线

#3 2022-03-19 19:42:26

ifnk
会员
注册时间: 2021-01-25
帖子: 93

Re: tmux如何快速切换session

依云 说:

不知道你想怎么快速。tmux 自带的 session 切换工具就挺快的啊,那个地方不光能用上下方向键选择,也可以按开头括号里的键直接跳转。
你那个 fzf 的用法太复杂了……直接把 session 名列出来喂给它,拿到结果就切过去,就满足你的需求了。
我不需要模糊搜索 session。我就那么几个 session,也不怎么切换的。


额, 我想的是 我 按 在 tmxu 里面 按 alt +f  ,然后 就 会弹出来  session 列表 (如果少的话顺便把 window 列表 也加一起)  ,然后 可以 通过 fzf 的模糊查找  跳转

离线

#4 2022-03-19 19:44:21

ifnk
会员
注册时间: 2021-01-25
帖子: 93

Re: tmux如何快速切换session

依云 说:

不知道你想怎么快速。tmux 自带的 session 切换工具就挺快的啊,那个地方不光能用上下方向键选择,也可以按开头括号里的键直接跳转。
你那个 fzf 的用法太复杂了……直接把 session 名列出来喂给它,拿到结果就切过去,就满足你的需求了。
我不需要模糊搜索 session。我就那么几个 session,也不怎么切换的。


啊 ,还真的是 ,可以 通过 括号里的键 跳转 呀, 那这样也很快呀, 那现在的问题就是 怎么 用 alt +f  映射 ctrl + a , w   这个操作啦

离线

#5 2022-03-19 20:01:10

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,964
个人网站

Re: tmux如何快速切换session

ifnk 说:
依云 说:

不知道你想怎么快速。tmux 自带的 session 切换工具就挺快的啊,那个地方不光能用上下方向键选择,也可以按开头括号里的键直接跳转。
你那个 fzf 的用法太复杂了……直接把 session 名列出来喂给它,拿到结果就切过去,就满足你的需求了。
我不需要模糊搜索 session。我就那么几个 session,也不怎么切换的。


啊 ,还真的是 ,可以 通过 括号里的键 跳转 呀, 那这样也很快呀, 那现在的问题就是 怎么 用 alt +f  映射 ctrl + a , w   这个操作啦

就 bind -n M-f choose-tree -Zw 就可以了啊。

不过 M-f 这么常用的按键(光标向后移动一个单词),你真的要给 tmux 用吗?

离线

#6 2022-03-19 20:06:29

ifnk
会员
注册时间: 2021-01-25
帖子: 93

Re: tmux如何快速切换session

依云 说:
ifnk 说:
依云 说:

不知道你想怎么快速。tmux 自带的 session 切换工具就挺快的啊,那个地方不光能用上下方向键选择,也可以按开头括号里的键直接跳转。
你那个 fzf 的用法太复杂了……直接把 session 名列出来喂给它,拿到结果就切过去,就满足你的需求了。
我不需要模糊搜索 session。我就那么几个 session,也不怎么切换的。


啊 ,还真的是 ,可以 通过 括号里的键 跳转 呀, 那这样也很快呀, 那现在的问题就是 怎么 用 alt +f  映射 ctrl + a , w   这个操作啦

就 bind -n M-f choose-tree -Zw 就可以了啊。

不过 M-f 这么常用的按键(光标向后移动一个单词),你真的要给 tmux 用吗?

我刚也通过 tmux list-keys  | grep choose  找到啦 ,对了, 差点忘记 了 ,我换成  alt + w  , 谢谢 依云

离线

#7 2022-06-20 18:01:34

浩亮
会员
注册时间: 2017-03-07
帖子: 18

Re: tmux如何快速切换session

刨个坟,几年我也有过这样的想法,当时是这样解决的,一直用到了今天。

1. 创建个脚本 ~/.scripts/:s

#!/usr/bin/env bash

main() {
    local choice

    choice=$(tmux list-session -F '#{session_name}' | fzf) || return 1

    tmux switch-client -t "$choice"
}

main

2. 创建个 tmux keybind,同时保留了 tmux 自己的切换 session 的功能

bind s display-popup -E ~/.scripts/:s
bind S choose-tree -s -Z

3. 在 tmux 中按下 prefix-s  或者使用 `:s` 命令即可享受 fuzzy search 切换 tmux session 了

离线

页脚