在tmux
的复制模式下,我无法搜索 Unicode(非 ASCII)字符串,tmux
只是在“向上搜索:”提示中不显示(而只是忽略)非 ASCII 字符!
在 中~/.tmux.conf
,我有:
setw -g utf8 on
set -g status-utf8 on
set -g mouse-utf8 on
...
我用
tmux -u
在 中启动tmux
(版本 1.6) xterm
。 (我也尝试过这个urxvt
并得到了相同的结果。)
有什么建议吗?支持使用 Unicode 字符串进行搜索吗?谢谢。
答案1
不幸的是,目前似乎只接受非控制 ASCII。
查看MODEKEY_OTHER 处理中window_copy_key_input()
的window-copy.c
。
底层比较代码(window_copy_search_compare()
) 看起来可以处理 UTF-8 模式,因此您可能只需允许将大于 127 的字节添加到缓冲区即可获得一些基本功能。但是,如果您这样做,至少会有一些小问题:
- Backspace 仍然每次删除一个字节。这会在缓冲区中留下部分 UTF-8 序列,这似乎会使 UTF-8 比较器感到困惑(结果缓冲区到处都匹配!)。
- 组合字符不会得到特殊处理。
例如,代码点序列 U+00E9 和 U+0065 U+0301 看起来相同,但比较结果不同(尽管它们与自身相等)。
你可能想问tmux 用户邮件列表以获得更有根据的建议。
†也可能存在大问题(例如崩溃并终止所有会话);我不太了解代码,无法猜测。