我想使用Ctrl-semicolon作为tmux的前缀.但我的conf不起作用.
unbind-key C-b
set-option -g prefix C-\;
Run Code Online (Sandbox Code Playgroud)
我发现了一篇类似的文章.但它不是前缀. tmux绑定分号
顺便说一下,你最喜欢的前缀键是什么?:D你有推荐钥匙吗?
小智 13
终端无法注册Ctrl-;击键.这不是一个有效的角色.如果你看下面的ascii表中的控制字符,你会看到Ctrl-;不在列表中.

我在OS X上,当我输入Ctrl - ;(终端和"桌面"程序)时,我收到一个铃声,表明该字符无法被识别.
至于"最喜欢的"前缀键:从我看到的阅读其他人的.tmux.conf文件,Ctrl-a是最受欢迎的选择.这是有道理的,因为:
Ctrl-a是GNU Screen的默认设置,tmux的前身Ctrl-b尤其是当您将大写锁定重新映射到ctrl时.使用的缺点Ctrl-a是您不能在bash或vim中使用相同的密钥,但通过以下绑定可以轻松解决这个问题.tmux.conf:
bind-key 'C-a' send-prefix
Run Code Online (Sandbox Code Playgroud)
有了它,按Ctrl-a两次将发送相同的字符到底层程序(例如bash或vim).
小智 6
正如其他人所说,您无法绑定,Ctrl-;因为它不是有效的字符。
我喜欢这个前缀,因为当 CapsLock 重新映射到 Ctrl 时按下它真的很容易。
对于 Linux,我的解决方法是重新映射Ctrl-;到Ctrl-Bxkb 级别。
Xkb是处理键盘布局的 Xorg 子系统。
我使用的是 us 布局,所以我修改了第/usr/share/X11/xkb/symbols/us42 行:
key <AC10> { [ semicolon, colon ] };
Run Code Online (Sandbox Code Playgroud)
到
// key <AC10> { [ semicolon, colon ] };
key <AC10> {
type="BABEL_CONTROL_LEVEL3",
symbols[Group1]= [ semicolon, colon, b ]
};
Run Code Online (Sandbox Code Playgroud)
这告诉 Xkb 在第 1 级生成 for AC10(C 行中的第 10 个按钮)分号(无修饰符),在第 2 级生成冒号(Shift 修饰符),在第 3 级生成 b(Ctrl 修饰符)。
Xkb 中的 Level 3 通常不能通过 Ctrl 激活,因此我创建了一个新的按键类型,我将其称为BABEL_CONTROL_LEVEL3。您需要将其定义放入/usr/share/X11/xkb/types/pc:
type "BABEL_CONTROL_LEVEL3" {
modifiers = Shift+Control;
map[Shift] = Level2;
map[Control] = Level3;
level_name[Level1] = "Base";
level_name[Level2] = "Shift";
level_name[Level3] = "Control";
};
Run Code Online (Sandbox Code Playgroud)
您需要重新启动 X 或重新启动。
对我有帮助的资源列表:
| 归档时间: |
|
| 查看次数: |
3061 次 |
| 最近记录: |