Ala*_*Dee 74 mysql console autocomplete
在Linux和许多其他系统中,在导航终端时,您可以按Tab以自动完成目录或文件名.
我想知道MySQL终端中是否有类似的东西.例如,如果我想获得someTableWithRidiculousLongName
我可以输入的描述,describe someTableW
那么Tab它将自动完成其余的.
MySQL终端中是否存在类似的内容?
T Z*_*ink 123
编辑或创建.my.cnf
在主目录中调用的文件,其中包含:
[mysql]
auto-rehash
Run Code Online (Sandbox Code Playgroud)
cat*_*ger 79
要在MySQL提示符下启用自动完成,请键入:
mysql> \#
Run Code Online (Sandbox Code Playgroud)
之后你可以输入:
mysql> describe someTableW[TAB]
Run Code Online (Sandbox Code Playgroud)
要得到:
mysql> describe someTableWithRidiculousLongName
Run Code Online (Sandbox Code Playgroud)
rab*_*dde 58
使用附加选项启动MySQL控制台--auto-rehash
,即
mysql --auto-rehash -u root -p
Run Code Online (Sandbox Code Playgroud)
在 OS X 10.11.6 上,我如上所述设置了 --auto-rehash,但它不起作用。(这是 OS X,因此 mysql 是使用 BSD libedit库编译的。)
然后我记得我通过创建 ~/.editrc 为 mysql 客户端设置了 vi 键绑定,其中包含一行:bind -v。这对于在 mysql 客户端中为我提供类似 vi 的导航非常有用,但它破坏了列名完成(我可以通过删除.editrc来验证这一点)。
所以我研究了一下,发现 ~/.editrc 至少应该有以下几行:
bind -v
bind \\t rl_complete
Run Code Online (Sandbox Code Playgroud)
有了这个额外的行,名称完成可以在 mysql 中正常工作,并且类似 vi 的导航也可以工作。(还有其他 .editrc 设置可以极大地改进 mysql 客户端导航,但这不是开始讨论的地方。)