In the the latest version of Ubuntu (Karmic) I’ve discovered that my vi bindings have stopped working in the mysql 5.1 client. The delete key only echos a “~” (tilde) into the mysql shell and ctrl+left arrow and ctrl+right arrow produce control sequences instead of jumping by words. The problem is that in the latest version of the repository Ubuntu has replaced the previous version of mysql which used readline with a new version which is now complied with EditLine according to the few forum postings I can find. This is from my installation running Karmic:
mysql Ver 14.14 Distrib 5.1.37, for debian-linux-gnu (i486) using EditLine wrapper
This is the version I was previously using on Jaunty:
mysql Ver 14.12 Distrib 5.0.75, for debian-linux-gnu (i486) using readline 5.2
The solution according to posts on the ubuntuforums and a blog by Wallie Doekes is to edit ~/.editrc and place the following lines in it:
bind "\e[3~" ed-delete-next-char bind "^R" em-inc-search-prev
And optionally add this as well
bind -v
I’m having trouble getting mysql to load this file at the moment, however.