请告诉我如何在GVIM的每个标签页上显示关闭按钮。
另外,如果我打开多个标签页打开GVIM,是否可以设置警告?
答案 0 :(得分:39)
有效使用缓冲区!
您可以考虑使用: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
答案 1 :(得分:8)
'tabline'
选项可以包含关闭标签按钮的%X
标记,但这仅适用于标签行的控制台版本。 :help 'guitablabel'
明确指出:
请注意,该选项不使用语法突出显示。 %T和%X项也被忽略。
所以,要真正得到你想要的东西,你必须切换到(uglier)基于文本的标签行
:set guioptions-=e
但请注意,在Vim中不鼓励使用鼠标(即使您可能通过Web浏览器标签等其他应用程序对其进行自定义)。如果您在鼠标右键单击GUI选项卡标签,您也可以从弹出菜单中选择|Close tab|
。
(请注意,这里不问多个问题;请分别询问。)
我不认为这是可能的;有一个VimLeavePre
事件你可以挂钩,但它不能阻止关闭Vim;行动(例如:qall!
)无法撤消。如果您习惯于通过映射或命令关闭Vim,则可以覆盖它并在其中包含一个检查(使用tabpagenr('$') > 1
)。
如果您担心丢失窗口/标签布局,请查看 Vim会话(可以在后台自动保留)。这将允许使用先前打开的窗口重新启动Vim。
答案 2 :(得分:0)
如果你需要这个,你可能做错了。你不需要带vim的鼠标。
但是怎么样
nnoremap <MiddleMouse> :tabclose<CR>
其他那个看到TabLineSet.vim : A Vim7 tabline customization有
关闭器:将热点(“!”)添加到选项卡以进行点击关闭