当我试图在Vim(Linux)中打开一个文件进行编辑时,当我按TAB键时,Vim只使用当前目录中的文件名自动完成文件名。但是,在Web上搜索后,我认为从Vim 7开始,应该支持使用搜索路径中所有目录中的文件名的类似bash的文件名自动完成。
比如说,在目录dir1
中有一个文件file1
(该目录也在环境变量PATH中)。
我在Vim中键入以下命令:
set path=/dir1
set wildmode=list:longest
然后,当我输入:
:e fil<TAB>
文件名不是自动完成的。如何在Vim中启用此功能?
1条答案
按热度按时间c0vxltue1#
制表符完成是有效的。你只是期望它做一些实际上不应该做的事情。
:e[dit]
和它的兄弟(:sp[lit]
、:vs[plit]
、:tabe[dit]
)根本不使用path
选项,无论您使用的是什么版本的Vim。:fin[d] fil<Tab>
(以及:sf[ind]
、:vert sf[ind]
、:tabf[ind]
)。set path=/dir1/**
使:find
递归。请参阅
:help 'path'
和:help :find
。编辑
通常认为从项目的根启动Vim是一种“好的做法”:
它的主要优点是将Vim的“当前目录”设置为一个可用的值,使您可以相对轻松地浏览项目,或者以一种干净直观的方式在项目上使用外部程序。