windows – 如何移动到某些选项卡上某些窗口中存在的非隐藏缓冲
发布时间:2020-12-14 01:36:57 所属栏目:Windows 来源:网络整理
导读:我在Vim中使用各种选项卡上的各种窗口中的大量打开缓冲区.我知道将一个现有缓冲区加载到当前窗口中很简单.但是,我的一些大文件缓冲区使用折叠表达式,在将它们加载到新窗口时会导致几秒钟的延迟.另一方面,如果它们已经在标签页上的窗口中打开,我只需要跳转到
我在Vim中使用各种选项卡上的各种窗口中的大量打开缓冲区.我知道将一个现有缓冲区加载到当前窗口中很简单.但是,我的一些大文件缓冲区使用折叠表达式,在将它们加载到新窗口时会导致几秒钟的延迟.另一方面,如果它们已经在标签页上的窗口中打开,我只需要跳转到该标签页和该窗口.
我收集到那里没有命令直接这样做.还是有吗? 要找到具有所需缓冲区的窗口,我可以编写一个执行此操作的函数: >为每个标签 有人已经写过这个吗?或者我错过了更简单的方式来获得我想要的东西? 更新:’switchbuf’答案正是我所寻找的,但我仍然可能最终使用自定义函数,因为(1)我不理解’newtab’选项的行为,因为窗口仍然被拆分,并且( 2)我的功能适用于搜索卸载的文件: function! Sbuf(filename) let myvar = '' tabdo let myvar = bufwinnr(a:filename) > 0 ? tabpagenr() . ' ' . bufwinnr(a:filename) : myvar if myvar > '' silent execute split(myvar)[0] . "tabn" silent execute split(myvar)[1] . "wincmd w" else execute 'tab drop ' . a:filename endif endfunction 解决方法
只需设置switchbuf选项:
:set switchbuf=uSEOpen,usetab :sbuf [filename] 如果您不希望始终打开switchbuf选项,则需要编写一个更改的函数,然后重置switchbuf选项. function MySwitchBuf(filename) " remember current value of switchbuf let l:old_switchbuf = &switchbuf try " change switchbuf so other windows and tabs are used set switchbuf=uSEOpen,usetab execute 'sbuf' a:filename finally " restore old value of switchbuf let &switchbuf = l:old_switchbuf endtry endfunction (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 如何让Windows Server DNS使用hosts文件来解析特定的主机名
- OrCAD Capture CIS 16.6 从PDF文档中提取引脚定义,实现快速
- windows-phone-7 – 如何在WIndows Phone 7中获取CPU和内存
- 在windows server 2008 64位服务器上配置php环境
- Windows Server 2003,DHCP:地址池和预留
- Windows Phone 7上的Silverlight Web内容
- winapi – Windows 8 SDK中的DirectX
- 在windows2012上挂载NAS文件系统
- nuget – 如何打包一个面向通用Windows平台并依赖于Visual
- Windows配置基础环境(jdk+tomcat)