control-w(删除单词)删除 MariaDB 客户端中的整行

control-w(删除单词)删除 MariaDB 客户端中的整行

我已经使用原始 MySQL 客户端“亿万年”了,而且我相当习惯在其中使用类似 bash 的快捷方式。我最常用的方法之一是使用control-w删除光标之前的单词(就像在 bash 中所做的那样)。

目前,使用我的 mariadb 客户端——如果我点击control-w它,就会删除光标之前的整行。 (至少在 bash 中通常是这样control-u

例如,在标准 bash 提示符中尝试一下......或者甚至在经典的 MySQL 命令提示符中尝试,如果我有这样的行:

SELECT a,b,c FROM table WHERE column='value'

我的光标位于WHERE该行之前,如下所示

WHERE column='value'

当我真正期望它是:

SELECT a,b,c FROM WHERE column='value'

我使用的是 Fedora,安装的 Maria 版本是:

[doug@talos werk]$ sudo rpm -qa | grep -i maria mariadb-10.0.21-1.fc21.x86_64 mariadb-config-10.0.21-1.fc21.x86_64 mariadb-common-10.0.21-1.fc21.x86_64

其他快捷键按预期工作,control-a分别control-e转到行首和行尾,并control-[left arrow]向左移动单词(或使用右箭头向右移动)

我正在运行客户端:

mysql -A --host=foo.local -u user -p'mypass'

我找不到对 maria 客户端配置选项的引用,例如 a.mariarc或其他东西。我很乐意接受任何指点。

答案1

我已经弄清楚需要做什么,并且在中找到了答案mysql手册中的Mysql提示文章

事实证明,该行为取决于 MySQL 是针对哪个库进行编译的,readline或者libedit.您可以使用文件自定义行为.editrc

就我而言,要control+w按照我的预期工作,您将拥有一个.editrc如下所示的文件:

bind "^W" ed-delete-prev-word

如果您想查看键绑定是什么,只需将单词放入bind.editrc或现有文件的末尾.editrc

相关内容