交互式搜索tmux会话


5

使用交互式会话菜单(<prefix>-s)在tmux会话之间切换时,您可以通过键入会话的数字或字母索引跳到特定会话,例如

(0) + first_session: 1 windows (1) + second_session: 2 windows (2) + third_session: 1 windows (3) + secret_session: 1 windows

按下1将打开second_session会话。

我经常会打开20个以上的tmux会话,我想有一种无需查看整个列表即可进行搜索的方法。有没有办法改变行为以进行交互式搜索?也就是说,我想输入sec并缩小列表范围

(1) + second_session: 2 windows (3) + secret_session: 1 windows

我已经在Google上搜索了很多,却一无所获。这种行为可能吗?

Answers:


7

是的,但是据我所知,您将需要一个额外的工具来进行搜索。我正在使用fzf进行(模糊)搜索。一旦安装了fzf,您就可以使用以下配置来设置带有search的会话切换:

bind C-j split-window -v "tmux list-sessions | sed -E 's/:.*$//' | grep -v \"^$(tmux display-message -p '#S')\$\" | fzf --reverse | xargs tmux switch-client -t"

我本人并没有弄清楚这一点,但我是从Chris Toomey的公开tmux conf中获得的


这太惊人了!
Trevor Hartman

请原谅我的tmux nubeness ..但是我不确定要键入什么来达到这一点?这就是我的tmux.conf文件中的内容: set-option -g prefix C-a .. the above shortuct (ie bind C-j split-window..那么,如何从终端机键入什么才能看到此快速搜索内容?
abbood

-1

@ bartj3:谢谢。这太酷了!

这是用于切换会话和窗口的稍微增强的版本(不带sed和grep):

bind j split-window -v "tmux list-sessions -F '#S' | fzf --reverse | xargs tmux switch-client -t"
bind k split-window -v "tmux list-window -F '#W' | fzf --reverse | xargs tmux select-window -t"

问题:

如果您在同步窗格打开时使用上述方法,则您的搜索击键也会在其他窗格中键入。

题:

是否有人对如何将按键限制在搜索窗格中有想法?


尽管此答案实际上确实可以回答问题。您在答案正文中提交了自己的问题,因此无法回答您的问题。
Ramhound

欢迎来到超级用户!您的答案包括另一个问题。如果您将其发布为新问题,它将得到相应的关注。请查看有关“ 如何提问如何回答”的网站指南。此外,如果您花些时间参加Stack Overflow 之旅,将会发现您会有更好的体验。如果您遵循Stack Overflow社区的规范并以帮助他人的态度对待它,它将为您提供良好的服务。
Rey Juna

好。作为新问题发布在superuser.com/questions/1397211中。谢谢。
s3_
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.