2013-12-03 5 views
7

В mysql-клиенте (командной строке) я имел возможность нажимать Ctrl + R, чтобы выполнить обратный инкрементный поиск, аналогичным образом вы можете сделать это в консоли linux. По какой-то причине это не работает на моей новой машине.MySQL reverse-i-search

Я использую клиент mysql от xampp. Обратный инкрементный поиск работает на консоли, но не на mysql. Кто-нибудь знает, как «включить» это?

Благодаря

ответ

15

MySQL 5.6 построен с editline библиотеки, вместо readline библиотеки, используемой в более ранних версиях MySQL. Таким образом, привязки клавиш по умолчанию могут быть немного разными, чем вы привыкли.

Ctrl + R по-прежнему должен быть привязан к em-inc-search-prev по умолчанию. Он отлично работает в моей среде.

Смотрите также: Bug #60465 MySQL-5.5 readline (editline) -- CTRL-R does not work

Ключ связывания может быть установлена ​​через ~/.editrc файл, добавив следующую строку: "привязать "^ R" эм-вкл-поиск-пред". См. Man editrc для получения более подробной информации.

И убедитесь, что ваша версия MySQL не влияет на Bug #49967 built-in libedit doesn't read .editrc on linux

Если вы хотите увидеть текущие привязки ключевых editline, временно добавьте эту строку в конец вашего $ HOME/.editrc:

bind 

Затем запустите клиент mysql. Он выведет полный набор привязок клавиш, которые в настоящее время распознаются.

+0

Моя версия mysql - 5.5.16. Кажется, что он не читал .editrc. Любое предложение о том, как это исправить? Спасибо –

+0

Ну, я только что проверил копию 5.5.32 на моей виртуальной машине, и Ctrl-R отлично работает. Поэтому у меня нет другого предложения, но попробуйте обновленную версию (по крайней мере, для клиента) и посмотрите, поможет ли это. –

+0

Я использую MySQL 5.5.16 из XAMPP для Linux 1.7.7. К сожалению, я должен пойти xampp на Fedora 19, потому что мне нужен PHP 5.3. Я думаю, что в качестве альтернативы я могу использовать MySQL из репозитория yum, но может открыть другую банку червей .. –