我在使用 时遇到了麻烦gdb
。当我开始按下Up Arrow键时,它会向后迭代历史记录。但是,如果我开始输入命令,例如b
,它不会只迭代以 开头的历史记录条目b
,gdb
而是仍然会向后迭代所有历史记录。
常规终端(zsh)就可以。
如何gdb
仅使用相关命令来迭代历史记录?
我在使用 时遇到了麻烦gdb
。当我开始按下Up Arrow键时,它会向后迭代历史记录。但是,如果我开始输入命令,例如b
,它不会只迭代以 开头的历史记录条目b
,gdb
而是仍然会向后迭代所有历史记录。
常规终端(zsh)就可以。
如何gdb
仅使用相关命令来迭代历史记录?
向上的箭头循环浏览历史记录,因为这是它应该做的。
如果您想在历史记录中搜索,也许您想要的ctrl-r是up arrow。
调试
gdb
器使用 Readline 库来处理命令历史记录(就像bash
shell 和许多其他程序一样)。该Up Arrow键的默认操作是调用 Readline 函数previous-history
,该函数从命令行历史记录中调用最近的命令。这也是 shell 中的默认行为zsh
,即使它没有使用 Readline 库(您的 shell 配置似乎已从默认配置修改)。要将键重新绑定Up Arrow到
history-search-backwards
似乎可以执行您想要执行的操作的功能,您可以将以下内容添加到您的~/.inputrc
文件中(如果文件尚不存在,请创建该文件):这只会将密钥的重新绑定应用于应用
gdb
程序。如果您希望在所有启用 Readline 的应用程序中实现相同的行为,请删除条件包装器: