Vim忽略文件完成中的路径名

时间:2012-07-24 17:15:09

标签: vim

假设我在/tmp,我在vim中打开了两个文件:test.txttmpfile.txt。现在我想删除tmpfile.txt缓冲区。我输入:bd tm TAB 。我想要的行为是自动完成tmpfile.txt;我得到的行为是tmpfile.txt/tmp/test.log的列表,因为它自动完成目录名称和文件名。我如何让vim表现得像我想要的那样?

2 个答案:

答案 0 :(得分:1)

这是不可能的,列表来自缓冲区列表上的内容,而不是来自本地路径,您可以在任何地方(:pwd),无所谓,当您按Tab键时,结果来自在内存列表中,这就是出现/ tmp的原因,因为如果你在/ tmp上,/ tmp不应再出现。

如果你看一下:help:bd它将bufname作为param,而不是fname作为:badd

答案 1 :(得分:1)

使用^tm代替匹配文件名的开头。 (您必须在/ tmp中才能使其工作,以便相对路径只是文件名。)