我的 .bashrc 中有以下一行:
bind '"\e[A": history-search-backward'
这导致当我在命令提示符中输入“abc”并按下向上箭头时,bash 只会在历史记录中搜索以“abc”开头的命令。一切都很好,直到我运行 top(也许还有一些我不确定的其他应用程序,我确定是使用 top),此时此行为恢复为正常搜索。但是,当我bind '"\e[A": history-search-backward'
在终端中运行时,没有任何变化,我必须终止并重新启动终端才能恢复旧行为。有没有办法扭转它(或防止它发生?)这发生在 Unity 和 Gnome Shell 中的 gnome-terminal 和 xterm 中。tty 似乎不受影响。
我的 stok ubuntu .bashrc 上的 -bashrc 是这样的:
bind '"\e[A": history-search-backward'
bind '"\e[B": history-search-forward'
# that behaviour is for pageup and pagedown
bind '"\e[5~": previous-history'
bind '"\e[6~": next-history'
# show possibilities if tab ambigious
set show-all-if-ambiguous on
# ignore case when completing, lets see how it works
set completion-ignore-case on
shopt -s cdspell
HISTSIZE=10000
HISTCONTROL=ignoredups
HISTFILESIZE=10001
HISTTIMEFORMAT="%h/%d - %H:%M:%S "
shopt -s histappend
PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"
答案1
答案2
尝试编辑/etc/inputrc
文件中的绑定。
我在所有 Linux 系统上都使用“history-search-backward”,并且使用 top 没有任何问题。
如果您在编辑文件时遇到问题,请参阅我的回答这里。