在vsplit中打开可编辑文件,但在vimscript中保持原始位置
发布时间:2020-12-15 22:59:34 所属栏目:安全 来源:网络整理
导读:我正在尝试编写一个插件,它将进行系统调用,根据当前缓冲区生成一个文件,然后在vsplit中打开生成的文件,或者如果已经打开,它将在更改源文件时更新它. 我已经得到了代码,它生成文件并打开/更新分割,但问题是,当它首次打开分割时,焦点转到分割,当它更新源文件上
我正在尝试编写一个插件,它将进行系统调用,根据当前缓冲区生成一个文件,然后在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 从我应该保持的跳跃应该将光标返回到其先前的位置,然而,似乎并非如此. 解决方法
这听起来像是在vim中完美使用预览窗口.在预览窗口中打开文件(:pedit / path / to / file)时,焦点不会从当前窗口中删除.如果需要,您还可以随时使用wincmd P直接跳转到预览窗口.您还可以使用以下任意位置关闭预览窗口:pclose.如果文件已更改,并且您希望查看更新,则可以:再次:pedit / path / to / file以获取更新.
另一个小好处,即使你在预览窗口中有一个文件,你仍然可以使用plain:q而不是:qa退出vim. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |