如何在GVIM中显示标签关闭按钮?

时间:2014-01-24 11:35:59

标签: button vim tabs warnings tabpage

请告诉我如何在GVIM的每个标签页上显示关闭按钮。

另外,如果我打开多个标签页打开GVIM,是否可以设置警告?

3 个答案:

答案 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

  

关闭器:将热点(“!”)添加到选项卡以进行点击关闭