nun*_*nos 5 zsh autocomplete oh-my-zsh
我无法正确显示包含重音字符的自动完成文件名,例如ã
在我的 shell 配置zsh
和oh-my-zsh 中。
我创建了一个文件名cão.txt
来演示这个问题。如果你有兴趣,那就是dog
葡萄牙语。
因此,当我尝试像 那样自动完成时cat c<tab>
,会发生这种情况:
% cat ca<0303>o.txt
hi dog
Run Code Online (Sandbox Code Playgroud)
并echo $0
给我:-zsh
但是,如果我去一个“普通”zsh
会话,完全相同的自动完成工作正常:
% zsh
% echo $0
zsh
% cat cão.txt
hi dog
Run Code Online (Sandbox Code Playgroud)
我的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"
Run Code Online (Sandbox Code Playgroud)
和LANG
变量我试过它是空的,"en_US.UTF-8"
还有"pt_PT.UTF-8"
。此外,我locale
在进入“普通”zsh
会话之前和之后仔细检查了设置是否完全相同。
此外,它在默认终端 OSX 应用程序和 iTerm2 中的工作方式相同。
我正在使用 zsh 版本5.0.7
。
这里是我的.zshrc文件,以及我使用的其他点文件。
我已经尝试oh-my-zsh
以自动和手动方式卸载和安装它,但始终存在使用自动完成显示重音字符的相同问题。
这看起来像是正常的默认zsh
行为。在自动完成过程中是否组合显示组合字符由combining_chars
shell 选项控制。要完成此操作c\xc3\xa3o
,请将其放入您的~/.zshrc
文件中。
setopt combining_chars\n
Run Code Online (Sandbox Code Playgroud)\n\n我无法重现您的行为,这是非登录 ( zsh
vs -zsh
) shell 的默认行为。
zsh -f
在和 非登录的情况下zsh
,它们仅获取配置文件/etc/zshenv
,而不获取其他配置文件。也许您已/etc/zshenv
进行配置setopt combining_chars
,并且初始化序列中稍后的某些操作正在重置它。
归档时间: |
|
查看次数: |
788 次 |
最近记录: |