在实现的 shell 中GNU Readline,我可以点击该键来获取我开始输入的内容的可能补全列表。例如:
C:\>cd P<TAB>
PerfLogs\ Program Files (x86)\ Python27\
Program Files\ ProgramData\
我现在如何选择我想要使用的完成方式?
我知道如果我想要上面例子中的“Program Files”,我可以输入“rogram Files”,但我很懒:)。
有没有办法让我按下键盘快捷键来遍历可能的补全,以便我可以快速选择一个?类似于现代 IDE 中的自动完成/智能感知?
编辑:我的解决方案可能是使用 GNU Readline 的menu-complete
命令(如下所述)?但是如何将其绑定到组合键?
menu-complete ()
Similar to complete, but replaces the word to be completed with a single match
from the list of possible completions. Repeated execution of menu-complete steps
through the list of possible completions, inserting each match in turn. At the end of
the list of completions, the bell is rung (subject to the setting of bell-style) and
the original text is restored. An argument of n moves n positions forward in the list
of matches; a negative argument may be used to move backward through the list. This
command is intended to be bound to TAB, but is unbound by default.
答案1
在使用的 shell 中readline
,您需要绑定menu-complete
绑定到密钥。默认情况下不绑定complete
。
为此,请编辑~/.inputrc
并添加以下内容:
TAB: menu-complete
这可能会影响所有使用 的程序readline
。使用以下命令仅将此应用于bash
:
$if Bash
TAB: menu-complete
$endif
答案2
答案3
具体关于这个问题的这一部分
有没有办法让我按下键盘快捷键来遍历可能的补全,以便我可以快速选择一个?类似于现代 IDE 中的自动完成/智能感知?
我会说陣陣是您可能想要调查的内容。它是一种非常快速的模糊查找和选择工具。