如何让vim做到正常(bash就像)tab完成文件名?

当我在vim中打开一个新文件并使用tab完成时,它会完成整个文件名,而不是像bash那样进行部分匹配。 是否有一个选项,使此文件名选项卡完成工作更像bash?

我个人使用

set wildmode=longest,list,full set wildmenu 

当你键入第一个选项卡命中将尽可能完成,第二个选项卡命中将提供一个列表,第三个和随后的选项卡将循环完成选项,所以你可以完成该文件没有进一步的键

bash就像只是

 set wildmode=longest,list 

但是完整非常方便

最接近Bash的完成行为应该是

 set wildmode=longest:full,full 

只要input一些字符,按一次tab就可以在wildmenu中find所有可用的匹配项。 这与Michael在命令行下打开类似quickfix的窗口的回答不同。

然后,您可以继续input其余的字符,或再次按Tab键以自动完成第一个匹配并围绕它。

如果你不想设置wildmenu,你可以随时按Ctrl + L来打开文件。 Ctrl + L将完成文件名,如bash完成。

我假设你在vim中通过Ctrl + n使用自动完成来search当前的缓冲区。 当你使用这个命令时,你会得到一个解决scheme列表,只需重复命令即可进入列表中的下一个项目。 所有自动完成命令也是如此。 当他们填写整个单词的时候,你可以继续在列表中移动,直到你到达你想要使用的那个。

希望这是有帮助的。

编辑1:这可能是一个更有用的命令: Ctrl + p 。 唯一的区别是Ctrl + p在caching中向后search,而Ctrl + n向前search…实际上,它们都会提供一个具有相同元素的列表,它们可能会以不同的顺序出现。

除了build议的wildmode / wildmenu之外,vim还提供了使用Ctrl + d显示所有可能的完成的选项。 这可能会有助于一些用户遇到这个问题时,像在我那样在vim中search不同的自动完成选项。

尝试使用:设置wildmenu。 除此之外,我不确定你到底在想什么。 请再详细一点。 哦,是的,也许尝试这个链接: 链接