假设我在/tmp
,我在vim中打开了两个文件:test.txt
和tmpfile.txt
。现在我想删除tmpfile.txt
缓冲区。我输入:bd tm
TAB 。我想要的行为是自动完成tmpfile.txt
;我得到的行为是tmpfile.txt
和/tmp/test.log
的列表,因为它自动完成目录名称和文件名。我如何让vim表现得像我想要的那样?
答案 0 :(得分:1)
这是不可能的,列表来自缓冲区列表上的内容,而不是来自本地路径,您可以在任何地方(:pwd),无所谓,当您按Tab键时,结果来自在内存列表中,这就是出现/ tmp的原因,因为如果你在/ tmp上,/ tmp不应再出现。
如果你看一下:help:bd它将bufname作为param,而不是fname作为:badd
答案 1 :(得分:1)
使用^tm
代替匹配文件名的开头。 (您必须在/ tmp中才能使其工作,以便相对路径只是文件名。)