![在 VI 模式下扩展匹配时是否可以使 readline 忽略 compspec?](https://linux22.com/image/214021/%E5%9C%A8%20VI%20%E6%A8%A1%E5%BC%8F%E4%B8%8B%E6%89%A9%E5%B1%95%E5%8C%B9%E9%85%8D%E6%97%B6%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E4%BD%BF%20readline%20%E5%BF%BD%E7%95%A5%20compspec%EF%BC%9F.png)
我在使用 bash 时使用 VI 模式,有时发现某些标准 compspec 定义不能满足我的要求。例如,似乎不知道自 Java 9 以来java
您已经能够做到这一点。java Source.java
有没有办法在 VI 模式下获得“哑”扩展。在 emacs 模式下,我知道我可以这样做,ESC /
并且它将扩展文件而无需执行该compspec
功能。但这在 VI 模式下不起作用(ESC
刚刚结束正常模式)。
答案1
我已经弄清楚了。要调用的 readline 函数是complete-filename
,因此我可以在我的中创建映射.inputrc
:
$if mode=vi
set keymap vi-insert
"\C- ": complete-filename
$endif