Answers:
大概像
#〜/ .inputrc “ \ e [A”:向后搜索历史 “ \ e [B”:历史搜索
或等效地,
#〜/ .bashrc
如果[[$-== * i *]]
然后
绑定'“ \ e [A”:history-search-backward'
绑定'“ \ e [B”:历史搜索-转发'
科幻
(if语句检查交互模式)
通常,向上和向下分别绑定到Readline函数previous-history和next-history。我更喜欢将PgUp / PgDn绑定到这些功能,而不是替换正常的Up / Down操作。
#〜/ .inputrc “ \ e [5〜”:向后搜索历史 “ \ e [6〜”:历史搜索
修改后~/.inputrc,重新启动Shell或使用Ctrl+ X,Ctrl+ R使其重新读取~/.inputrc。
顺便说一句,如果您正在寻找相关文档:
Bash使用GNU Readline库获取shell提示和历史记录。
使用以下命令更新.inputrc:
"\C-[OA": history-search-backward
"\C-[[A": history-search-backward
"\C-[OB": history-search-forward
"\C-[[B": history-search-forward
set enable-keypad on对del关键工作正常(常见问题解答)。当键盘上的箭头键是"\C-[OA"和"\C-[OB"(和"\C-[OC"和"\C-[OD")时。我在下面发布了一个答案以澄清这一点。
如果set enable-keypad on您~/.inputrc是某些st(无吮吸简单终端)用户所喜欢的用户,请注意箭头键处于键盘模式。Ubuntu附带了以下有用的功能/usr/share/doc/bash/inputrc.arrows:
# This file controls the behaviour of line input editing for
# programs that use the Gnu Readline library.
#
# Arrow keys in keypad mode
#
"\C-[OD" backward-char
"\C-[OC" forward-char
"\C-[OA" previous-history
"\C-[OB" next-history
#
# Arrow keys in ANSI mode
#
"\C-[[D" backward-char
"\C-[[C" forward-char
"\C-[[A" previous-history
"\C-[[B" next-history
#
# Arrow keys in 8 bit keypad mode
#
"\C-M-OD" backward-char
"\C-M-OC" forward-char
"\C-M-OA" previous-history
"\C-M-OB" next-history
#
# Arrow keys in 8 bit ANSI mode
#
"\C-M-[D" backward-char
"\C-M-[C" forward-char
"\C-M-[A" previous-history
"\C-M-[B" next-history
因此,我不确定您是否需要所有这些东西,但是将其包含在其中可能不会有什么坏处~/.inputrc:
# Arrow keys in keypad mode
"\C-[OA": history-search-backward
"\C-[OB": history-search-forward
"\C-[OC": forward-char
"\C-[OD": backward-char
# Arrow keys in ANSI mode
"\C-[[A": history-search-backward
"\C-[[B": history-search-forward
"\C-[[C": forward-char
"\C-[[D": backward-char
随着ohmyzsh,在您使用本.zshrc:
bindkey '^[OA' history-search-backward
bindkey '^[OB' history-search-forward
重新加载source ~/.zshrc或重新启动终端。
您可能需要启用bash完成。
检查一下
/etc/profile/etc/bash.bashrc~/.bashrc查看以上任何文件源/etc/bash_completion。即
。/ etc / bash_completion
如果/etc/bash___completion不是上述任何文件的来源,则需要将其添加到其中一个文件中。
如果您希望计算机上的所有bash用户都完成bash操作,请/etc/bash_completion从中获取源/etc/bash.bashrc。
如果只是您想要bash补全,请/etc/bash_completion从中获取~/.bashrc。