我的问题是我无法通过tmux
键绑定来切换窗口。
我tmux
在 FreeBSD 服务器上运行终端多路复用器。tmux
使用以下命令自动启动所有远程登录~/.bash_profile
:
if [ $TERM = "xterm" ]; then
( (tmux has-session -t remote && tmux attach-session -t remote) \
|| (tmux new-session -s remote) ) && exit 0
echo "tmux failed to start"
fi
默认情况下,使用,tmux
切换窗口... 我想要使用,切换窗口...Ctrl+B 1Ctrl+B 2tmux
F1F2
因此我添加了以下几行~/.tmux.conf
:
bind-key -n F1 select-window -t :1
bind-key -n F2 select-window -t :2
bind-key -n F3 select-window -t :3
bind-key -n F4 select-window -t :4
bind-key -n F5 select-window -t :5
bind-key -n F6 select-window -t :6
bind-key -n F7 select-window -t :7
bind-key -n F8 select-window -t :8
bind-key -n F9 select-window -t :9
现在当我登录并按 F1 时,tmux
显示:“未找到窗口::1”。我尝试更改为bind-key -n F1 select-window -t remote:1
,错误消息类似:“未找到窗口:远程:1”。
从命令行切换窗口tmux select-window -t :1
均可tmux select-window -t remote:1
。
我怎样才能使其作为键绑定工作?
答案1
尝试检查文件中是否存在不可见字符。当行以 CR(即 DOS/Windows 样式的行尾)结尾~/.tmux.conf
时,我可以重现您的症状。bind-key
如果你使用 Vim 编辑,请检查fileformat
。:set ff?
如果设置为dos
,那么你可以用这个命令修复文件:
:set ff=unix|w
如果fileformat
已设置为unix
,则检查各个行;如果那里有 CR 字符,它们应该显示为^M
。