在vim中,我可以找到一个文件并使用:tabfind
在新标签页中打开它,我可以使用:split
或{{1打开一个我知道新拆分位置的文件}}。但是,我希望vim在运行:vsplit
或:split
命令时在我的路径中为我查找文件。例如,在我当前的目录中,我有这些文件(所有这些都在我的路径中):
:vsplit
我想在vim中输入以下命令:
./ReallyLongFileName1.txt
./fooDir/ReallyLongFileName2.txt
./barDir/bazDir/ReallyLongFileName3.txt
让我的路径中的vim搜索与该表达式匹配的所有文件,并用
填充剩下的行:vsplit R<Tab>
这与:vsplit ReallyLongFileName
或:find
完美配合,但在分割时不起作用。是否有一个命令执行此操作,我只是不知道,或者是否有某种方法可以将此功能添加到:tabfind
和:split
命令中?
答案 0 :(得分:13)
正如romainl所说,:sf
是执行此操作的命令。没有垂直拆分查找,但您可以使用稍长的命令:vert sf
执行相同的操作。
答案 1 :(得分:4)
键入:split | :find<space>R
(意思是“打开拆分然后找到...”似乎可以解决问题。与:vsplit
相同。
将其设为自定义函数并使用nnoremap
调用它会使其更加出色。
编辑:
我不知道:find
和:tabfind
所以我在Vim的帮助下查找了它们,我发现:sfind
完成了你想要的一件事。很遗憾,我看不到:vfind
或:vsfind
。
查找::help sfind
。
答案 2 :(得分:0)
我要进行垂直拆分查找的方法是:在.vimrc中添加一个缩写。
" Abbreviation for vertical split find
cabbrev vsf vert sfind