我在几台 Ubuntu 机器上安装了 tmux 1.5,并且在我的 ~/.tmux.conf 中有以下内容:
unbind-key C-b
set-option -g prefix C-\
因此,在几台我有 ssh 访问权限(但没有 root 权限)的 RedHat 机器上,我编译了 tmux 1.6 并将其安装在我的目录中。现在,当我尝试将 C-\ 设置为我的前缀时,我在启动时收到此信息:
/home/user/.tmux.conf: 2: line continuation at end of file
显然它没有正确解析文件。作为测试,我将其更改为:
unbind-key C-b
set-option -g prefix C-'
我得到:
/home/user/.tmux.conf: 2: invalid or unknown command: set-option -g prefix C-'
因此它仍然无法正确解析。
然而,这确实有效:
unbind-key C-b
set-option -g prefix C-o
因此这似乎是非字母数字键的问题。
有任何想法吗>
答案1
在tmux1.6 配置行末尾的反斜杠充当行继续符。您可以通过多种方式将反斜杠添加到命令本身:
只要确保它不是最后一个字符即可。在其后添加一个空格,或者一个空格和一个注释:
set-option -g prefix C-\ # (not a line continuation!)
用单引号引起来:
set-option -g prefix 'C-\'
将其括在双引号中(并将其转义,因为反斜杠在双引号内是特殊的):
set-option -g prefix "C-\\"
您C-'
失败是因为单引号开始了一个带引号的字符串(这里的错误消息不太有用)。
此外,没有标准的控制字符或序列Control- ',所以tmux即使你用双引号将它括起来以使其通过初始解析阶段,也会抱怨(bad key: C-'
);只有少数非字母控制字符:@[\]^_?
。