web-dev-qa-db-ja.com

control-w(Wordの削除)MariaDBクライアントの行全体を削除します

私は「eons」に元のMySQLクライアントを使用してきましたが、bashのようなショートカットを使用することにかなり慣れています。私がよく使用するものの1つは、control-wを使用してカーソルの前のWordを削除することです(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-acontrol-eはそれぞれ行の先頭と末尾に移動し、control-[left arrow]は単語を左(または右矢印で右)に移動します。

私はクライアントを次のように実行しています:

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

.mariarcなどのmariaクライアント構成オプションへの参照が見つかりません。私はどんなポインタでも喜んで受け取ります。

8
dougBTV

私は何をする必要があるかを理解しました、そして私は答えを mysqlマニュアルのMysqlのヒントの記事 で見つけました。

動作は、MySQLがコンパイルされたライブラリreadlineまたはlibeditによって異なることがわかりました。また、.editrcファイルを使用して動作をカスタマイズできます。

私の場合、control+wを予想どおりに機能させるには、次のような.editrcファイルを作成します。

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

キーバインドが何であるかを確認したい場合は、Word bind.editrc(または既存の.editrcファイルの最後)に配置するだけです。

15
dougBTV