带有非字母数字前缀的 Tmux

Mik*_*oss 9 tmux

我在几台 Ubuntu 机器上安装了 tmux 1.5,我的 ~/.tmux.conf 中有这个:

unbind-key C-b
set-option -g prefix C-\
Run Code Online (Sandbox Code Playgroud)

因此,在几台 RedHat 机器上,我可以 ssh 访问(但不是 root),我编译了 tmux 1.6 并将其安装在我的目录中。现在,当我尝试将 C-\ 设置为我的前缀时,我在启动时得到这个:

 /home/user/.tmux.conf: 2: line continuation at end of file
Run Code Online (Sandbox Code Playgroud)

显然它没有正确解析文件。作为测试,我将其更改为:

unbind-key C-b
set-option -g prefix C-'
Run Code Online (Sandbox Code Playgroud)

我得到:

 /home/user/.tmux.conf: 2: invalid or unknown command: set-option -g prefix C-'
Run Code Online (Sandbox Code Playgroud)

所以它仍然没有正确解析。

但是,这确实有效:

unbind-key C-b
set-option -g prefix C-o
Run Code Online (Sandbox Code Playgroud)

所以这似乎是非字母数字键的问题。

任何想法>

Chr*_*sen 12

tmux 1.6 中,配置行末尾的反斜杠充当行继续符。您可以通过多种方式安排将反斜杠作为命令本身:

只需确保它不是最后一个字符。在它后面放一个空格,或者一个空格和一个注释:

set-option -g prefix C-\ # (not a line continuation!)
Run Code Online (Sandbox Code Playgroud)

用单引号括起来:

set-option -g prefix 'C-\'
Run Code Online (Sandbox Code Playgroud)

将它用双引号括起来(并转义它,因为反斜杠在双引号内是特殊的):

set-option -g prefix "C-\\"
Run Code Online (Sandbox Code Playgroud)

C-'失败了,因为单引号开始了一个带引号的字符串(这里的错误消息不是很有帮助)。

此外,没有标准的控制字符或序列Control- ',所以TMUX会抱怨(bad key: C-')即使你有双引号它来得到它过去的初始分析阶段; 只有少数非字母控制字符@[\]^_?