Pet*_*ker 42
有效使用缓冲!
您可以考虑使用:tabclose关闭标签.这有利于关闭选项卡(并让您远离鼠标),但也足够烦人,以促使工作流程转换为使用缓冲区和拆分.关于关闭带有多个窗口的选项卡的警告,如果你'hidden'设置了缓冲区仍然存在那么我没有看到任何好处.如果没有'hidden'任何修改的缓冲区,将在关闭之前提示.
标签页很棒.然而,这一切都归结为vim将标签页面视为一组窗口或工作区中的更多视口.标签页不能很好地扩展.只需打开一些其他GUI编辑器并打开20个左右的选项卡.处理变得棘手.我打开了超过100个缓冲区并在它们之间切换而不用担心.缓冲区只是以标签没有的方式缩放.缓冲器和分离器也适用于较小的窗口,这通常是使用终端时的情况.
不要只听我的话.以下是一些更多支持信息:
set hidden 放弃时会隐藏缓冲区.:sb切换到你已经打开的缓冲区.:sb并且:b两者都可以采取部分名称和水珠.例如:sb foo*'switchbuf'并更改您的偏好.:sp,:new以及所有类型的拆分命令.<c-w>命令,让分裂的生活更轻松.cscope与标签一起使用<c-6>切换到前一个编辑的文件.<c-o>和<c-i>在跳转列表中移动旧/新位置.CtrlP:h :sb
:h windows
:h 'hidden'
:h 'swb'
:h ctrl-6
:h ctrl-o
:h tags
:h cscope
:h tab-page-commands
Run Code Online (Sandbox Code Playgroud)
该'tabline'选项可以包含%X关闭选项卡按钮的标记,但这仅适用于选项卡行的控制台版本.:help 'guitablabel'明确说明:
请注意,语法突出显示不用于该选项.%T和%X项也被忽略.
因此,要真正得到你想要的东西,你必须切换到(丑陋的)基于文本的标签行
:set guioptions-=e
Run Code Online (Sandbox Code Playgroud)
但请注意,在Vim中不鼓励使用鼠标(即使您可以通过Web浏览器选项卡等其他应用程序对其进行自定义).如果您在鼠标右键上单击GUI选项卡标签,您也可以|Close tab|从弹出菜单中进行选择.
(请注意,在这里提出多个问题是不赞成的;请单独询问.)
我不认为这是可能的; 有一个VimLeavePre事件你可以挂钩,但它不能阻止关闭Vim; 行动(例如:qall!)无法撤消.如果您习惯于通过映射或命令关闭Vim,则可以覆盖它并在其中包含一个检查(使用tabpagenr('$') > 1).
如果您担心丢失窗口/标签布局,请查看Vim会话(可以在后台自动保留).这将允许使用先前打开的窗口重新启动Vim.