Vim打开文件由外部脚本确定
我的一个函数中有一行Vim打开文件由外部脚本确定,vim,Vim,我的一个函数中有一行 silent! exec "r!sh myScript '" . a.1 "' 这会将myScript的输出打印到当前缓冲区 myScript输出一个文件名。我想打开那个文件,而不是将文件名打印到缓冲区 我试过这样的方法 silent! exec "open!sh myScript '" . a.1 "' silent! exec "new!sh myScript '" . a.1 "' let l:file = silent! exec "sh myScript '"
silent! exec "r!sh myScript '" . a.1 "'
这会将myScript的输出打印到当前缓冲区
myScript输出一个文件名。我想打开那个文件,而不是将文件名打印到缓冲区
我试过这样的方法
silent! exec "open!sh myScript '" . a.1 "'
silent! exec "new!sh myScript '" . a.1 "'
let l:file = silent! exec "sh myScript '" . a.1 "'
new l:file
但似乎都不管用
我是否遗漏了一些明显的内容?我建议以这种方式使用system()函数:
let path=system("myScript ... ")
let path=substitute(path,"\n","","g")
exec "edit" path
请注意,删除错误的换行符可能需要中间的substitute
命令。如果没有必要,不要担心。当然,您可以使用split
或vsplit
等来满足您的需要,而不是edit