tmux绑定prefix-q无fzf交互菜单,如何实现会话选择?
解决tmux prefix-q无法触发fzf交互的问题
问题原因
tmux的run命令默认在后台执行,未关联当前窗格的终端TTY,导致fzf无法获取交互所需的终端环境,直接跳过选择流程。
解决方案
方案一:用send-keys模拟手动输入(推荐)
修改.tmux.conf中的绑定为:
bind-key q send-keys 'q' Enter
此方式相当于在当前窗格的fish shell中手动输入q并回车,fzf会正常在当前窗格显示交互选择界面。
方案二:重定向TTY让run命令支持交互
如果坚持使用run命令,需将标准输入输出重定向到当前终端:
bind-key q run "fish -c 'q' < /dev/tty > /dev/tty 2>&1"
无需保留--interactive参数,重定向TTY后fzf即可获取终端交互权限。
生效步骤
修改配置后,执行以下命令重新加载tmux配置:
tmux source ~/.tmux.conf
之后按下prefix-q即可正常触发fzf会话选择菜单。
内容的提问来源于stack exchange,提问作者AlphabetsAlphabets
相关产品推荐
相关产品推荐

