bash tab 自动完成功能

bash tab 自动完成功能

我想要一个 bash 自动完成功能,它可以循环遍历所有可能性,就像在 zsh 中一样,同时还执行通常的操作,即打印所有可能性(假设可能性不是太多),否则在打印前确认。

这两者不应该互相排斥。我知道如何让它循环遍历各种可能性(绑定“TAB:menu-complete”),但它会失去第一个功能。

另外,我想知道是否可以后退(类似于 shift+tab,就像在许多其他软件中一样),因为必须再次执行整个循环真的很烦人。

答案1

为了获得此功能,您需要将以下行写入文件~/.inputrc

# cycle forward
Control-k: menu-complete
# cycle backward
Control-j: menu-complete-backward

这样,您将保留当前的 ​​Tab 行为。您可能还想考虑添加另一个配置选项:

# display one column with matches
set completion-display-width 1

它使可能性显示在一列中,因此而不是:

file1 file2 file3 file4...

或者

file1  file3  ...
file2  file4

你得到:

file1
file2
file3
file4
...

对我来说更加赏心悦目。

欲了解更多信息,请参阅man readline或访问GNU Readline 图书馆网站

相关内容