如上图所示,使用补全后命令头部的字符发生重复并且不可删除,不影响命令的执行但是让我很难受。

这种情况往往是locale没有设置正确。起初我以为是dd安装的系统镜像本身的问题,后来发现字符重复的情况只在使用zsh时出现。实际原因大概是dd脚本并不会像常规的Linux安装器那样配置额外的locale。

解决方法是取消掉/etc/locale.genen_US.UTF-8 UTF-8的注释再执行locale-gen生成locale。

然后向/etc/locale.conf中写入LANG=en_US.UTF-8,更改后的设置会在下次登录时生效。

也可以在.zshrc末尾追加export LANG=en_US.UTF-8,执行zsh使配置立即生效。

正确配置locale后不会再出现字符重复的问题。

参考