我正在尝试将tmux中的移动键(在窗格之间)重新映射为类似Vim的样式。
我不喜欢'hjkl',因此我更喜欢使用'jkl;'键。在我的键盘上,';'字符是'ç'而不是。我这样做:
bind j select-pane -L
bind k select-pane -D
bind l select-pane -U
bind ç select-pane -R
但似乎tmux无法识别'ç'键。我怎么解决这个问题?
答案 0 :(得分:5)
目前, tmux 并不真正支持核心字符具有多字节表示的绑定密钥。内部键表示主要是“8位加修饰符”。目前大多数终端使用UTF-8,因此你的c-with-cedilla(U + 00E7)可能是两个字节:C3 A7。
如果您的终端使用8位编码,它应该可以工作。您需要确保您的终端配置正确,并且您的 tmux 客户端不使用UTF-8(不要使用-u
选项,请确保LC_ALL,LC_CTYPE和LANG都不包括UTF-8
或UTF8
),不要启用utf8
窗口选项,并确保使用终端使用的相同编码保存配置文件。
从(例如)bind-key
参数解析关键字符串时, tmux 将任何多字节序列(在剥离前导修饰符之后)视为命名键(例如Up
,{ {1}},PageUp
,F1
等);请参阅KP0
中的key_string_lookup_string
。这是导致key-string.c
错误消息的原因。
我之前也曾在超级用户上写过这篇文章:tmux: trying to bind utf8 key。