我正在尝试编写一个插件,该插件将system
根据当前缓冲区生成一个文件,然后在 a 中打开生成的文件vsplit
,或者如果已经打开,它将在源文件更改时更新它。
我已经得到了生成文件并打开/更新拆分的代码,但问题是当它第一次打开拆分时,焦点转到拆分,当它更新源文件上的光标位置时跳转到页面顶部。
这是我正在尝试的,任何帮助将不胜感激。
execute 'keepjumps silent ! ' . s:cmd . ' ' . s:src_file . ' > ' . s:dst_file
if exists("s:outputbufnr") && bufexists(s:outputbufnr)
execute 'keepjumps ' . bufwinnr(s:outputbufnr)
else
" execute "keepjumps vnew " s:dst_file
execute "keepjumps rightbelow vertical new " . s:dst_file
let s:outputbufnr=bufnr(s:dst_file)
endif
然而,从我认为keepjumps
应该将光标返回到其先前位置的情况来看,情况似乎并非如此。