我想配置我的 bash shell 来扩展部分输入的树结构,就像它执行 emacs“minibuffer-complete”命令一样。
想象一下,我有两个文件夹,foo1 和 foo2。foo1 包含一个子文件夹 sub1,而 foo2 包含子文件夹 wow。所以我有:
foo1/sub1/
foo2/哇/
现在,如果我键入,在 emacs 中打开文件时
f/w
然后按 TAB 会自动将其展开为“foo1/wow/”。
我想在 bash 中有类似的功能。有任何想法吗?
我想配置我的 bash shell 来扩展部分输入的树结构,就像它执行 emacs“minibuffer-complete”命令一样。
想象一下,我有两个文件夹,foo1 和 foo2。foo1 包含一个子文件夹 sub1,而 foo2 包含子文件夹 wow。所以我有:
foo1/sub1/
foo2/哇/
现在,如果我键入,在 emacs 中打开文件时
f/w
然后按 TAB 会自动将其展开为“foo1/wow/”。
我想在 bash 中有类似的功能。有任何想法吗?
你可以反过来使用 emacs Mx shell 命令。它打开一个带有自动完成功能的Shell缓冲区,就像在 minibuffer 中一样
虽然我不知道如何在 bash 中执行此操作,或者即使可能,但我知道如果您将 shell 更改为 zsh,则可以完成。
默认情况下它没有启用,我也不知道如何启用它,但我使用zsh grml config,它启用了你正在谈论的那种扩展。
Zsh,特别是结合上述配置,还有许多其他有用的功能。
如果您不愿意更改外壳,那么恐怕这不是一个有用的答案。
披露:我是该项目的作者
我已经编写了在 bash 中启用此类完成所需的完成功能:https ://github.com/sio/bash-complete-partial-path
希望你会发现这个项目很有用