我可以在 MySQL 命令行中启动向后历史搜索,就像在 bash 中一样,例如使用 ctrl+R。但与 bash 不同的是,一旦我在使用 Ctrl 启动的历史搜索中,我就不能使用 CtrlS 进行前向历史搜索R
我已经在 ~/.bashrc
中使用 stty -ixon
关闭了 XON/XOFF,所以,我认为这不是问题所在。
在命令行MySQL命令行中进行历史搜索时,如何使用正向搜索?为了发出上一个命令,使用子字符串搜索在历史记录中上下移动非常重要。
最佳答案
在您的主目录中创建一个包含以下内容的 .inputrc
文件
$if Mysql
"\C-s": forward-search-history
$endif
~/.inputrc
是readline
库的初始化文件。通常不需要它,因为所有使用 readline
的应用程序都带有默认绑定(bind),这对大多数用户来说已经足够了。 bash
包括用于 forward-search-history
的 Ctrl-S
,但 mysql
没有。在 ~/.inputrc
中放置一个绑定(bind),明确地为所有应用程序启用它。最好使用 $if ... $endif
来限制对我们特别感兴趣的应用程序的添加。阅读 the manual了解更多信息。
由于 Ctrl-S
在许多终端仿真环境中用于其他目的,因此在您的情况下可能仍需要 stty -ixon
。为了避免 XON/XOFF 问题,即使我知道使用非标准键绑定(bind)是一种不好的做法,我还是重新定义了 Ctrl-F
,因为我需要 forward-search-history
多于 forward-char
,无论如何我都有箭头。我不建议您也应该这样做。
关于MySQL在命令行中向后和向前搜索历史记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55411731/