我最近花了很多时间在shell中,我想知道选项卡自动完成是如何工作的.它背后的机制是什么?bash如何知道每个目录的内容?
Python,通过它的readline绑定允许很好的命令行自动完成(如这里所述).
但是,完成似乎只在字符串的开头起作用.如果要匹配字符串的中间或结尾,则readline不起作用.
我想在命令行python程序中自动完成字符串,方法是将我输入的内容与可用字符串列表中的任何字符串进行匹配.
使用像curses这样的终端模拟器会很好.它只需要在Linux上运行,而不是在Mac或Windows上运行.
这是一个例子:假设我在列表中有以下三个字符串
['Paul Eden <paul@domain.com>',
'Eden Jones <ejones@domain.com>',
'Somebody Else <somebody@domain.com>']
Run Code Online (Sandbox Code Playgroud)
我想要一些代码,在我输入'Eden'后自动完成列表中的前两项,然后允许我选择其中一项(通过命令行使用键盘完成).