Mongo shell标签完成

taf*_*afi 8 shell autocomplete tab-completion mongodb

我想知道是否可以在mongo shell中配置制表符完成的行为?我见过的两个行为是:

  1. 只要没有歧义,tab键的第一次点击就会完成,第二次点击会显示可能的选项列表.
  2. 按Tab键可根据第一个可能选项完成完整表达.

我个人更喜欢第一种选择.我已经在不同的环境中看到了这两种行为(都是mongo版本2及以上版本),并且无法弄清楚它是可配置的还是由环境引起的.

Ste*_*nie 4

shellmongo自动完成行为绝对不是一个可配置的选项。根据您使用的 MongoDB 版本,shell 编辑行为存在一些差异。

这些差异超出了自动完成的范围,还包括行编辑、历史记录和键盘快捷键……但要确认您对自动完成的观察结果:

  • MongoDB 1.8.x 及更早版本的行为#1
  • 在 MongoDB 2.0.x 中,shell 编辑库从 readline 更改为 linenoise ( SERVER-2792 ),并导致了一些更改,包括制表符补全(行为 #2)
  • 从 MongoDB 2.2.x 开始,原始的 readline 式补全已恢复 ( SERVER-3809 ),同时还对 shell 交互进行了其他改进(例如:SERVER-4321SERVER-3787 等)。

如果您更喜欢给定 shell 的行为,当然可以使用mongo与 MongoDB 服务器版本不同的 shell 版本。要利用所有服务器功能和记录的 shell 帮助程序,您通常需要一个mongo与该版本相同或更新的主要版本的 shell 版本mongod