【linux】oh my zsh自动补全bug,tab时多两个字符

在使用oh-my-zsh时遇到tab补全显示异常,多出两个字符的问题。解决方案是在.zshrc文件中添加LC_ALL及LANG环境变量,但可能会遇到‘bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)’的警告。原因是系统缺少en_US.UTF-8编码。要解决此问题,需先安装locales并生成en_US.UTF-8。通过运行sudo apt-get install locales及sudo locale-gen en_US.UTF-8命令即可成功修复。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述

github上的相同Issues
Autocomplete display bug #1905
The ➜ char messes up tab completion in iTerm2 #1282

在这里插入图片描述
(借用一下图片)
tab时,会多出两个字符,并且无法删去。

解决办法

.zshrc文件中添加

export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8

我看好几个帖子下面都说“ok解决了”,“管用”。

然鹅,出现错误。

bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)

Linode Lish bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)

原因是,系统没有en_US.UTF-8编码(大概)。需要先生成。

  1. 安装locales
sudo apt-get clean && sudo apt-get update
sudo apt-get install locales
  1. 生成en_US.UTF-8
sudo locale-gen en_US.UTF-8

之后就ok了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值