如何配置bash完成以扩展部分路径,如emacs“minibuffer-complete”?

时间:2012-08-23 08:39:33

标签: bash emacs path partial bash-completion

我想配置我的bash shell来扩展部分输入的树结构,就像emacs“minibuffer-complete”命令一样。

想象一下,我有两个文件夹,foo1和foo2。 foo1包含一个子文件夹sub1,而foo2包含子文件夹哇。所以我有:

foo1 / SUB1 /

foo2的/哇/

现在,如果我输入

,则在emacs中打开文件

F / W

然后按TAB键会自动将其展开为“foo1 / wow /".

我想在bash中有类似的功能。有什么想法吗?

3 个答案:

答案 0 :(得分:2)

虽然我不知道如何在bash中执行此操作,或者即使可能,但我知道如果将shell更改为zsh,则可以完成。

默认情况下没有启用它,我也不确定如何启用它,但我使用的是zsh grml config,它可以实现您正在谈论的那种扩展。

Zsh,特别是与所述配置相结合,还有许多其他有用的功能。

如果你不愿意改变shell,那么恐怕这不是一个有用的答案。

答案 1 :(得分:2)

你可以使用emacs M-x shell命令反过来。它打开一个 Shell 缓冲区,其中包含一个自动填充功能,如迷你缓冲区

答案 2 :(得分:0)

披露:我是该项目的作者

我已经在bash中编写了实现这种完成所需的完成功能:https://github.com/sio/bash-complete-partial-path

希望您会发现此项目有用