我在Arch linux中使用了oh,并加载了robbyrussell主题。当我尝试选择“完成”选项卡时,最后会在提示符后面添加剩余字符。如果我删除自动完成的字符,则残存字符不删除.
例如,如果我输入:
~ /etc然后选项卡,它将转到
~ /e/etc/下面列出了一些选项。即使我删除了/etc/,/e仍然存在,而且我被困住了:
~ /e我不能删除/e。我必须执行命令才能去除残存的字符。
知道这是怎么回事吗?
发布于 2013-11-12 00:06:01
原来是地方问题。运行locale-gen没有工作,直到我删除了某个配置文件并重新运行它。
不过,你的建议对提速是有好处的。谢谢。
发布于 2014-01-07 10:20:32
似乎我对地区配置和非UTF8配置有问题。
就我而言,解决办法是:
export LC_ALL="en_US.UTF-8"并将该行永久添加到.zshrc中:
echo "export LC_ALL=en_US.UTF-8" >> .zshrcUbuntu https://help.ubuntu.com/community/Locale中的更多信息
发布于 2013-11-01 16:51:24
正如simont所建议的,您使用的提示符很可能是使用不可打印字符(如颜色转义码),但并不表示这些字符是不可打印的。因此,当提示符被重画时,终端认为提示符比实际要宽。
您可以使用%{和%}分隔符指示zsh提示符中的字符序列具有零宽度。例如,我的提示符是:
%{%(?.%F{green}.%F{red})%}➜%{%f%}(?...)是一个三元,它设置提示符的颜色,并将其标记为零宽度。同样的方式,%f重置颜色,这也已经被标记。
您可以通过更新PS1变量来测试对提示符的更改,这样您就可以尝试不同的安排,并查看什么对您有效。
你可以用这种方式标记任何字符,所以要小心,提示符太短了!
https://stackoverflow.com/questions/19305291
复制相似问题