我想打开一个bld.log文件作为默认值,否则输入文件名在vim vsplit窗口或newtab中,无论我打开哪个嵌套子文件夹。
所以我在〜/ .vimrc中添加了以下函数,但不是打开搜索路径path1而是打开名为path1的新文件。
请让我知道我在这里缺少什么,或者我如何实现它?
function! Err1(...)
if a:0 > 0
let s:path1 = findfile(a:1,';')
else
let s:path1 = findfile('bld.log',';')
end
exec ':vsp ' . s:path1
endfunction
command -nargs=1 Err call Err1(...)
P.S。我想在.vimrc上面做,而不是在.bashrc
答案 0 :(得分:0)
您可以使用exec
执行此操作(这会在编辑前回答原始问题,如何使用函数中的:tabnew
):
function! Err1()
let s:path1 = findfile('README.md','.,**')
echo findfile('README.md',';')
exec ':tabnew ' . s:path1
endfunction
command Err call Err1()
以下是接受可选参数的函数示例:
function! Err1(...)
if len(a:1) > 0
let l:path = a:1
else
let l:path = 'README.md'
end
let l:file = findfile(l:path,'.,**')
if len(l:file) > 0
exec ':vsp ' . l:file
else
echom 'File not found: ' . l:path . ' ' . l:file
end
endfunction
command -nargs=* Err call Err1('<args>')
另一个选择是将set path=.,**
添加到.vimrc中,然后只使用标准&#34;文件&#34;命令,如:find bld.log
。