File Vim:按一个目录限制向上搜索
我有以下文件结构:File Vim:按一个目录限制向上搜索,file,search,vim,find,File,Search,Vim,Find,我有以下文件结构: . ├── main └── src └── main.c 如果我正在编辑文件main.c并使用命令 :echo findfile(expand('%:t:r'),";") 维姆打印主图像。但是如果main不存在,那么findfile将继续向上搜索,直到根目录/为止,这可能需要很长时间 有没有办法将目录限制为一个目录?我正在寻找类似于**2的东西,它将最大向下搜索级别设置为2。虽然您不能将向上搜索限制为一个目录,但您可以指定起始路径,相对于当前位置向上搜索一个目录
.
├── main
└── src
└── main.c
如果我正在编辑文件main.c并使用命令
:echo findfile(expand('%:t:r'),";")
维姆打印主图像。但是如果main不存在,那么findfile将继续向上搜索,直到根目录/为止,这可能需要很长时间
有没有办法将目录限制为一个目录?我正在寻找类似于**2的东西,它将最大向下搜索级别设置为2。虽然您不能将向上搜索限制为一个目录,但您可以指定起始路径,相对于当前位置向上搜索一个目录,然后只向下搜索一个目录:
:echo findfile(expand('%:t:r'),"../**1")
这适用于示例问题。更高的向上目录../../../../../**4指定起来会很繁琐,并且会有不利的影响,即以相反的顺序自上而下而不是自下而上进行搜索,尽管我不确定是否有更好的方法 要将向上搜索级别限制为1级,我最终使用了扩展“%:p:h”: 或者使用getcwd:
execute "echo findfile(expand('%:t:r'),';".expand('%:p:h')."')"
execute "echo findfile(expand('%:t:r'),';".getcwd()."')"