tmux 复制模式搜索 Unicode 字符串

tmux 复制模式搜索 Unicode 字符串

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 用户邮件列表以获得更有根据的建议。


也可能存在大问题(例如崩溃并终止所有会话);我不太了解代码,无法猜测。

相关内容