zsh中的有线字符

时间:2015-02-26 04:18:04

标签: ubuntu zsh

我在非英语语言的命令行中遇到 zsh 问题 但输入键后语言显示正确的单词,尝试OSX也有同样的问题。

~   
❯ สว<0e31>สด<0e35>
สวัสดี
zsh: command not found: สวัสดี

我检查了当地的一切都是utf8

locale
LANG=en_US.UTF-8
LANGUAGE=en_US
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8

并检查是否有任何字体,它有同样的问题。 我使用 zsh 版本5.0.2 oh-my-zh

1 个答案:

答案 0 :(得分:1)

你可以setopt combiningchars

  

COMBINING_CHARS

     

假设终端正确显示组合字符。具体来说,如果基本字母数字字符后跟一个或多个零宽度标点字符,则假设零宽度字符将显示为对相同宽度内的基本字符的修改。并非所有终端都能处理此问如果未设置此选项,则零宽度字符将单独显示并带有特殊标记。

     

- zshoptions(1) COMBINING_CHARS