我注意到,如果我按向上箭头提示然后我得到前面的命令,并再次向上之前得到我的命令。
然而,如果我按向上箭头前面的程序已经完成,而不是再之前,我得到显示前面的命令,光标在该行的末尾,但现在哦,我-zsh的是“搜索这样开始的行... “模式的意思我不能按起来以获得前一个命令。
我敢肯定,这种行为是众所周知的,并且预期,但以防万一你没有得到它,你可以回购它像这样
ls
回报sleep 3
回报sleep 3
)ls
)ls
)sleep 3
回报⬆(按向上键3秒后前)sleep 3
sleep 3
,但希望它显示ls
。相反,它是在“搜索以sleep 3
模式,而不是仅仅go to previous command
模式启动命令。为了尽量清除在这两种情况下,这些步骤
但他们最终与依靠,如果第三步之前或第二步完成后会发生不同的结果。
注意:我看到这个Q&A:https://unix.stackexchange.com/questions/324623/how-to-make-oh-my-zsh-history-behavior-similar-to-bashs
但是,这似乎并没有什么我要找的。我喜欢与部分开头的行哦,我-zsh中的部分行+ UP =搜索。我正在试图解决的是,如果我按一下就可以了上述步骤2奇迹般地插入部分,其中,如果我等到第2步完成它没有。
我如何获得哦,我-zsh来一致使这里过早向上箭头的行为与一个正常的向上箭头?
我很惊讶,这个问题是不常见的。它严重真气有终端的行为不一致。我倒是除了大多数开发者使用哦,MY-zsh来碰到这个问题所有的时间,是一笔巨额沮丧。
以上sleep 3
只是例子,可以很容易地显示问题。在实际使用中的问题经常发生,即使短暂的命令。 I型说git status
返回git commit somefile -m "short comment"
回报⬆⬆期待看到“混帐地位”。的时候,我得到git status
和其它34%,我得到66%`git的承诺somefile -m“短评”和⬆再次按下只是闪烁的光标,我必须按Ctrl-C来摆脱zsh中的部分完整的模式。
这似乎没有事实是哦,我-的zsh使我不知道,如果我有什么错建立一个共同的投诉。
为了更清楚地跑zsh
没有哦,我-的zsh。
zsh -d -f
autoload -U up-line-or-beginning-search
zle -N up-line-or-beginning-search
bindkey "^[[A" up-line-or-beginning-search
现在尝试上述步骤。你会得到一致的行为。
这可能是矫枉过正的解决方案,但是,以下this指导你可以看到你可以绑定新的行动,上/下箭头键。所以,如果你添加:
bindkey "^[[A" up-line-or-beginning-search # Up
bindkey "^[[B" down-line-or-beginning-search # Down
您~/.zshrc
,应该删除您谈到的功能。我设法得到它的工作,同时仍保持常规的搜索功能,但这不是彻底的测试,可能应该小心使用。