私はmsyql-clientを使用しており、次のように端末からmysqlプロンプトを開きます。
$ mysql -h localhost -uuser -ppassword
mysql>
私が使用するmsqlクライアントのバージョン:
Ver 14.14 Distrib 5.7.17, for Linux (x86_64) using EditLine wrapper
Emacsなどのバインディングを備えた端末には、使用できる強力な筋肉記憶力があります。
Ctrl+W
最後の単語を削除してください。しかし、mysqlクライアントの内部では、後線の先頭を削除するので、クエリを作成または調整することは困難です。
mysqlクライアントのキーボードショートカットを再バインドできますか?それでは、どのようにリバインドできますか?代わりにAlt + Backspaceを使用できることを知っていますが、使い方を一貫して維持したいと思います。
答え1
解決策として、mariadb
mysqlのコミュニティベースのフォークをインストールし、そのクライアントにreadlineを提供するので、mysqlクライアントを使用しました。
sudo apt install mariadb-client
mysql --version
mysql Ver 15.1 Distrib 10.0.29-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
mysqlクライアントのように使用できます。
これが機能だと仮定しますが、mysqlを削除することに注意してください。
ライセンスの問題により、mysql管理者はeditlineを好み、readlineを放棄したようです。 (EditlineはBSDのようで、readlineはGNUであり、後者は商用版を提供したいという欲求と衝突するようです。)
この点で私が見つけた関連のバグレポートは次のとおりです。
答え2
mysql
一部のプラットフォーム/ディストリビューションでは、一部のバージョンのクライアントはソフトウェアライセンスの理由ではeditline
なくソフトウェアライセンスの理由でreadline
構築されています。
editline
Ctrl+のデフォルトのバインディングは、通常、カーソルW位置まで行全体を削除することです。前の単語のみを削除するようにこのバインディングを変更する方法は、.editrc
ホームディレクトリに次のコンテンツで呼び出されるファイルを作成することです。
bind "^W" ed-delete-prev-word
お客様は、次回のリリース時にmysql
この事実に気付くでしょう。
(源泉)