哦,我的-的zsh光标程序之前完成VS后,如何使他们的行为一致

问题描述 投票:2回答:1

我注意到,如果我按向上箭头提示然后我得到前面的命令,并再次向上之前得到我的命令。

然而,如果我按向上箭头前面的程序已经完成,而不是再之前,我得到显示前面的命令,光标在该行的末尾,但现在哦,我-zsh的是“搜索这样开始的行... “模式的意思我不能按起来以获得前一个命令。

我敢肯定,这种行为是众所周知的,并且预期,但以防万一你没有得到它,你可以回购它像这样

  1. 类型ls回报
  2. 类型sleep 3回报
  3. 等待3秒为提示,显示
  4. 按⬆(应显示sleep 3
  5. 按⬆一次(应该显示ls
  6. 按回车键(运行ls
  7. 类型sleep 3回报⬆(按向上键3秒后前)
  8. 现在应该显示sleep 3
  9. 按⬆ 它仍然会呈现出sleep 3,但希望它显示ls。相反,它是在“搜索以sleep 3模式,而不是仅仅go to previous command模式启动命令。

为了尽量清除在这两种情况下,这些步骤

  1. lsreturn
  2. 睡3返回

但他们最终与依靠,如果第三步之前或第二步完成后会发生不同的结果。

注意:我看到这个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

现在尝试上述步骤。你会得到一致的行为。

oh-my-zsh
1个回答
2
投票

这可能是矫枉过正的解决方案,但是,以下this指导你可以看到你可以绑定新的行动,上/下箭头键。所以,如果你添加:

bindkey "^[[A" up-line-or-beginning-search # Up
bindkey "^[[B" down-line-or-beginning-search # Down

~/.zshrc,应该删除您谈到的功能。我设法得到它的工作,同时仍保持常规的搜索功能,但这不是彻底的测试,可能应该小心使用。

© www.soinside.com 2019 - 2024. All rights reserved.