zsh tab自动补全导致命令重复显示问题

如果修改zsh theme以显示conda环境名后出现了这个问题,这篇帖子也许会对你有所帮助

问题:zsh使用tab键自动补全命令时,可能会出现命令重复问题,非常蛋疼,如图

解决办法:

打开 oh-my-zsh/themes 找到你使用的 themes 文件,可以先复制一份源文件,以防意外。我使用的是 ys 主题,所以命令是,其他主题打开 [主题名].zsh-theme 文件即可

cd ~/.oh-my-zsh/themes/
cp ys.zsh-theme myys.zsh-theme     #复制一份,以防意外
vim ~/.oh-my-zsh/themes/myys.zsh-theme

将文件中所有的

$fg[color] , $fg_bold[color] , $reset_color 等

改为

%{$fg[color]%} , %{$fg_bold[color]%} , %{$reset_color%} 等

注意,其实zsh已经默认是 %{ %} 格式,因此大概率是自己更改themes文件导致的(比如我),因此大概率只需要改你修改过的部分即可。比如我之前增加了conda环境名称显示的功能,问题出在下图绿色横线部分,有三组 %{ 缺失了 %}对应

修改为

source 即可

source ~/.zshrc

问题解决:

 

原因:%符号的使用错误导致zsh错误估计了光标位置,导致补全后的命令在错误的位置显示。 

参考于macos - Zsh tab completion duplicating command name - Stack Overflowicon-default.png?t=M5H6https://stackoverflow.com/questions/11916064/zsh-tab-completion-duplicating-command-name

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值