我有一个文件在位置/tmp/z+b/c
在 shell 缓冲区中,如果我在提示符下键入cd /tmp/z<TAB>
并按,则完成会将其更改为cd /tmp/z+b/
,因为这是唯一以 . 开头的条目z
。
如果我键入 start with 也会发生同样的事情ls /tmp/z<TAB>
,文本变为ls /tmp/z+b/
.
但另一个<TAB>
导致不同的行为:
对于
cd
,文本更改为cd /tmp/z+b/c/
,再次因为c
是该目录中的唯一条目。但是对于
ls
,minibuffer 报告no match
。我在显示消息后立即捕获了下面的屏幕截图。
如果我改为键入ls /tmp/z+<TAB>
,则既不会完成,也不会在 minibuffer 中显示任何消息。因此,完成似乎无法+
正确处理字符。
更新
在 Windows 7 上运行 Cygwin 32 位 Emacs 版本 24.3.1。