我无法正确显示包含重音字符的自动完成的文件名,例如ã
在我的shell配置中zsh
和oh-my-zsh。
我创建了一个文件名cão.txt
来演示此问题。如果您有兴趣,那就dog
用葡萄牙语。
因此,当我尝试像cat c<tab>
这样自动完成时,会发生以下情况:
% cat ca<0303>o.txt
hi dog
并echo $0
给我:-zsh
但是,如果我进入“普通”zsh
会话,则完全相同的自动完成功能就可以了:
% zsh
% echo $0
zsh
% cat cão.txt
hi dog
我locale
是这样的:
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
和LANG
变量,我尝试将其与"en_US.UTF-8"
和一起清空"pt_PT.UTF-8"
。另外,locale
在进入“普通”zsh
会话之前和之后,我都仔细检查了设置是否完全相同。
同样,它在默认终端OSX应用程序和iTerm2中都以相同的方式工作。
我正在使用zsh version 5.0.7
。
这里是我的.zshrc文件,以及我使用的其他点文件。
我尝试过oh-my-zsh
以自动和手动方式卸载并安装它,但始终会出现相同的问题,即显示带有自动完成功能的带重音符号的字符。
这看起来像正常的默认zsh
行为。在自动补全过程中是否显示组合字符是由combining_chars
shell选项控制的。要完成cão
此操作,请将其放入您的~/.zshrc
文件中。
setopt combining_chars
在非登录(zsh
vs -zsh
)shell的默认设置下,我无法重现您的行为。
在zsh -f
和非登录的情况下zsh
,它们仅用于采购/etc/zshenv
,而不在其他配置文件中。也许您已将其/etc/zshenv
配置为setopt combining_chars
,然后在初始化序列中的某个步骤对其进行了重置。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句