bash - bash 中 Ctrl-R 反向搜索的替代方案

标签 bash readline

我很高兴并且非常喜欢 bash shell 的 Ctrl-R 向后搜索功能。我的一些同事不喜欢它,因为它有时会令人困惑。我理解他们。如果输入错误的字符,历史记录中的当前位置是过去的某个位置,并且您将找不到最近的匹配项。

是否有更用户友好的替代方案可以在 shell 历史记录中向后搜索?

我想坚持使用 bash。建议使用替代 shell 并不能解决这个问题。

“丢失位置”的问题解释如下:Reset bash history search position这些解决方案有效。这是正确的。但根据我的观点,那里的解决方案并不简单且用户友好。这些解决方案并不简单直接。这些都是过去的解决方案。过去,人类需要按照计算机想要的输入方式来学习。但今天的工具应该以一种对用户来说容易的方式接受输入。

最佳答案

您还可以使用历史搜索向后。默认情况下没有绑定(bind)任何键,所以需要添加

"\eq": history-search-backward

到您的~/.inputrc。然后您可以输入要在历史记录中查找的命令的前缀,例如

cd /l

然后按Alt+q,shell 会将其扩展为

cd /last-visited-dir

再次按下组合键将搜索之前提到过的内容等。

关于bash - bash 中 Ctrl-R 反向搜索的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56494149/

相关文章:

linux - 菜单的 Shell 脚本

c# - 使用 crlf 行定界符读取大文本文件的最佳方法

c# - 从文本文件中读取特定值并将它们放入列表中

vb.net 逐行读取文件并复制该行的某些部分

linux - 连接每四个文件,Linux

macos - 在 Mac OS X Mavericks 上安装 Gstreamer-1.0

sockets - 本书 “Unix Networking Programming”中的拒绝服务攻击问题

perl - Term::ReadLine - 我需要点击向上箭头两次才能检索历史记录

bash - Linux - Bash 登录到机器然后成为 root

bash - 使用 ls 和 grep 列出具有特定扩展名的文件