Подтвердить что ты не робот

Как заставить vi keybindings работать в mysql-клиенте?

У меня есть привязки vi, которые работают в моей оболочке bash, используя set -o vi в моем .bash_profile. Но я не могу заставить их работать в клиенте командной строки mysql. Я получаю только привязки стиля emacs. Как вы это делаете?

Я также помещаю эти строки в свой .inputrc, но без эффекта:

set editing-mode vi
set keymap vi
4b9b3361

Ответ 1

Quick google показывает this... не знаю, помогает ли это.

Скопировано здесь для удобства:

Добавьте в OS X 10.5 следующее:

$ cat .editrc
bind -v

Это будет работать для OS X 10.4 и другие операционные системы:

$ cat .inputrc
set editing-mode vi

Ответ 2

Эти два файла работали на моей предыдущей рабочей станции (не уверен в версии MySQL (моя старая работа)). Я сохраняю свои dotFiles в git.

.editrc bind -v bind \\t rl_complete

.inputrc(некоторые из них могут или не могут быть необходимы) set editing-mode vi set keymap vi set meta-flag on set input-meta on set convert-meta off set output-meta on set bell-style none

Проводя их, потому что я не мог опубликовать их в своем комментарии выше.

Ответ 3

Это не отвечает на ваш вопрос напрямую, но вы можете взглянуть на плагин dbext.

Этот плагин содержит функции/сопоставления/команды, позволяющие Vim обращаться к нескольким базам данных.

[...]

dbext обеспечивает общий интерфейс между вашим редактором и базой данных. Если ваша компания/проект переходит на новую платформу базы данных, нет необходимости изучать новые инструменты баз данных. При редактировании вашего SQL (и не выходя из Vim) вы можете выполнять команды базы данных, запускать запросы, отображать результаты и просматривать объекты базы данных. dbext понимает различные языки программирования и может анализировать и запрашивать пользователя для переменных [host] и выполнять полученный оператор. Подробности смотрите ниже.

Клиент базы данных внутри Vim!

Ответ 4

Проголосовавший ответ в порядке, но если вы столкнулись с проблемами, как это случилось со мной (в настоящее время я использую Slackware 14.x), то редактирование /etc/inputrc должно быть вашей последней надеждой.

Я тестировал оба .inputrc и .editrc в своем доме, но в моей системе работало только редактирование/etc/inputrc.

Ответ 5

Кроме того, это не ответ на ваш вопрос.

Вы также можете использовать Vimsql как dbext. Vimsql - более удобный способ взаимодействия с mysql, чем mysql, если вы любите карту ключа vim.