MySQL在命令行中向后和向前搜索历史记录

标签 mysql command-line

我可以在 MySQL 命令行中启动向后历史搜索,就像在 bash 中一样,例如使用 ctrl+R。但与 bash 不同的是,一旦我在使用 Ctrl 启动的历史搜索中,我就不能使用 CtrlS 进行前向历史搜索R

我已经在 ~/.bashrc 中使用 stty -ixon 关闭了 XON/XOFF,所以,我认为这不是问题所在。

在命令行MySQL命令行中进行历史搜索时,如何使用正向搜索?为了发出上一个命令,使用子字符串搜索在历史记录中上下移动非常重要。

最佳答案

在您的主目录中创建一个包含以下内容的 .inputrc 文件

$if Mysql
"\C-s": forward-search-history
$endif

~/.inputrcreadline 库的初始化文件。通常不需要它,因为所有使用 readline 的应用程序都带有默认绑定(bind),这对大多数用户来说已经足够了。 bash 包括用于 forward-search-historyCtrl-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/

相关文章:

mysql - 计算不同日期 MySQL 返回一行

c++ - 只允许将一个文件重定向到标准输入

batch-file - 如何将 if 语句与 WMIC 一起使用

python , Windows : parsing command lines with shlex

删除单字符串的 MySql

php - SQL - 选择两列之间的最大差异

javascript - 液晶电视自动分页显示日程信息

c - 为什么我的代码多次打印整个字符串而不是 1 次?

linux - 如何跨CPU核心监控同一进程ID的所有线程?

mysql - if 和 col_length 语法