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

时间:2010-02-07 08:59:19

标签: mysql unix vim command-line readline

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

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

set editing-mode vi
set keymap vi

5 个答案:

答案 0 :(得分:35)

快速谷歌揭示this ...不知道是否有帮助。

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

  

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

$ cat .editrc
bind -v
     

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

$ cat .inputrc
set editing-mode vi

答案 1 :(得分:18)

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

发布这些是因为我无法将其发布在上面的评论中。

答案 2 :(得分:1)

这不会直接回答您的问题,但您可能需要查看the dbext plugin

  

此插件包含函数/映射/命令,以使Vim能够访问多个数据库。

     

[...]

     

dbext提供编辑器和数据库之间的通用接口。如果您的公司/项目迁移到新的数据库平台,则无需学习新的数据库工具。在编辑SQL(并且不离开Vim)时,您可以执行数据库命令,运行查询,显示结果和查看数据库对象。 dbext了解各种编程语言,可以解析并提示用户输入[host]变量并执行结果语句。请参阅下面的更多细节。

数据库客户端内部 Vim!

答案 3 :(得分:0)

投票的答案还可以,但如果您遇到问题,我遇到了问题(我目前正在使用Slackware 14.x),那么编辑 / etc / inputrc 应该是您最后的希望

我在家里测试了.inputrc和.editrc,但在我的系统上只编辑了/ etc / inputrc。

答案 4 :(得分:0)

此外,这不是你问题的答案。

您也可以像dbext一样使用Vimsql。如果你喜欢vim键映射,Vimsql与mysql交互比mysql更方便。