如何让vi keybindings在mysql客户端工作?

dan*_*dan 30 mysql unix vim command-line readline

set -o vi在我的.bash_profile中使用vi绑定在我的bash shell中工作.但我似乎无法让他们在mysql命令行客户端工作.我只获得emacs样式绑定.你怎么做到这一点?

我也把这些行放在我的.inputrc中,但没有效果:

set editing-mode vi
set keymap vi
Run Code Online (Sandbox Code Playgroud)

Joh*_*don 37

快速谷歌揭示了这一点 ......不知道它是否有帮助.

为方便起见,在这里复制:

在OS X 10.5上添加以下内容:

$ cat .editrc
bind -v
Run Code Online (Sandbox Code Playgroud)

这适用于OS X 10.4和其他操作系统:

$ cat .inputrc
set editing-mode vi
Run Code Online (Sandbox Code Playgroud)

  • 如果`mysql`是用GNU Readline构建的,那就是`〜/ .inputrc`.如果`mysql`是用BSD`libedit`构建的,那就是`〜/ .editrc`. (7认同)
  • 如果添加在OSX中破坏了mysql自动完成,那么也将它添加到`.editrc`:`bind \\ t rl_complete` (4认同)
  • 对我来说,在ubuntu上,它正在创建.inputrc - 它有效!谢谢! (3认同)

小智 20

这两个文件在我以前的工作站上工作(不确定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

发布这些因为我无法在上面的评论中发布它们.

  • `bind \\ t rl_complete`带回标签完成!我使用其他解决方案丢失的东西. (6认同)