Zsh想要自动更正一个命令,前面有一个_
我刚刚开始在shell提示符下使用Zsh的一些集成支持来处理我的Git状态等。
当我input:
ruby -v
确认我正在运行的ruby的版本,Zsh询问是否要将命令更改为_ruby。 那么在提示“否”并且命令按预期完成之后,在确认我的命令是正确的之后,在提示符下继续得到问题。
我假设有一个完成文件或类似的东西。
谢谢
更新:
shell不再试图完成_ruby,closuresshell几次后就停止了响应。
我试图清理文件多次,但有一个“opts”variables是50或更长的行,行都是一起跑,一些行超过150个字符。 也许我可以通过电子邮件发送附件给你,如果你仍然想看到它。 我真诚地为这个杂乱的post道歉。
这是命令自动correct
,由correct
选项激活。 这与完成无关。 你看到_ruby
因为zsh认为没有ruby
命令,它提供_ruby
作为最近的现有匹配。
如果你刚刚安装了ruby
,那么zsh
可能早先记住了可用的命令列表,并且不会总是试图查看命令是否出现在中间。 在这种情况下,运行hash -rf
。 未来的zsh会话将不会有这个问题,因为ruby
命令在启动时已经存在。
有时候,当你改变你的PATH
,zsh忘记了一些散列的命令。 hash_listall
选项有助于解决这个问题。 如上所述,如果您可以强制zsh使用hash -rf
来刷新其命令caching。
你可以做一个别名:
alias ruby='nocorrect ruby'
这是我做zsh一直问我是否意味着.meteor
当我inputmeteor
因为自动校正仍然是有用的。
我发现自动更正function有时会变得烦人。 所以我做我的〜/ .zshrc,
DISABLE_CORRECTION="true"
前一段时间更新后,我得到了我不想要的命令自动纠正function。 如果同样的情况发生在你身上,你想恢复它,在〜/ .zshrc文件中,你将会做到这一点:
# Uncomment the following line to enable command auto-correction.
ENABLE_CORRECTION="false"
或按照以下注释:
# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"