如何在 mingw/msys shell 中同时获得 tab 补全和 readline 编辑?

如何在 mingw/msys shell 中同时获得 tab 补全和 readline 编辑?

我在 Win2K 上使用 rxvt.exe 终端运行 msys 1.0。默认情况下,制表符补全可以工作,但是当我执行“set -o vi”以启用 vi-readline 编辑时,制表符补全停止工作。我当然可以鱼与熊掌兼得吧?

答案1

将此行添加到您的~/.inputrc

"\C-i": vi-complete

要在当前会话中启用它而不必重新启动它,请在 Bash 提示符下键入以下内容:

 bind '"\C-i":vi-complete' 

答案2

搜索邮件列表后,我将以下几行添加到文件顶部.inputrc

set editing-mode vi
TAB: complete

到目前为止这对我似乎很有效。

答案3

打字

set -o vi

其次是

bind '"\C-i":complete'

似乎给了我想要的行为(tab 选项卡建议和 vi 编辑行为)。这对我来说似乎很奇怪,因为

"\C-i":complete

是 ~/.inputrc 文件中的默认值。

添加

"\C-i": vi-complete 

你的

~/.inputrc

似乎有效,但前提是只有一条建议,而且 tab tab 不会像以前那样为您提供建议列表。有人有更完整的建议吗?

我试过:

$if mode=vi
      # "\C-i": complete
        "\C-i": vi-complete
$endif

但是如果我在启动 mingw 后切换到 vi,则没有任何效果

set -o vi

当然

bind '"\C-i":vi-complete'

确实有效,但是 tab tab 不会显示所有建议,并且只有在只有一个建议时才会自动完成。

相关内容