【发布时间】:2014-02-15 09:18:14
【问题描述】:
请告诉我如何在 GVIM 的每个标签页上显示关闭按钮。
另外,如果我在打开多个标签页的情况下关闭 GVIM,是否可以设置警告?
【问题讨论】:
标签: button vim tabs warnings tabpage
请告诉我如何在 GVIM 的每个标签页上显示关闭按钮。
另外,如果我在打开多个标签页的情况下关闭 GVIM,是否可以设置警告?
【问题讨论】:
标签: button vim tabs warnings tabpage
有效地使用缓冲区!
您可以考虑使用:tabclose 来关闭您的标签。这样做的好处是关闭选项卡(并使您远离鼠标),但也很烦人,足以促使工作流程转变为使用缓冲区和拆分。至于关闭带有多个窗口的选项卡的警告,如果您设置了'hidden',那么我看不到什么好处,那么缓冲区仍然存在,所以没有害处。如果你没有'hidden',那么任何修改过的缓冲区都会在关闭之前提示。
标签页很棒。然而,这一切都归结为 vim 将标签页视为一组窗口或工作区的更多视口。标签页不能很好地扩展。只需打开其他一些 GUI 编辑器并打开 20 个左右的选项卡。处理起来很棘手。我已经打开了 100 多个缓冲区并在它们之间切换而无需担心。缓冲区只是以选项卡没有的方式缩放。缓冲区和拆分也适用于较小的窗口,这在使用终端时很常见。
不要只相信我的话。以下是更多支持信息:
set hidden 将在放弃时隐藏缓冲区。:sb 切换到您已经打开的缓冲区。:sb 和 :b 都可以采用部分名称和 glob。例如: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
【讨论】:
fzf.vim 用于切换缓冲区,打开带有模糊名称输入的文件。
'tabline' 选项可以为关闭选项卡按钮包含一个%X 标记,但这仅适用于控制台版本的选项卡行。 :help 'guitablabel' 明确声明:
请注意,该选项不使用语法突出显示。 %T 和 %X 项也会被忽略。
所以,要真正得到你想要的,你必须切换到(更丑的)基于文本的标签行
:set guioptions-=e
但请注意,在 Vim 中不鼓励使用鼠标(即使您可能会被其他应用程序(例如 Web 浏览器选项卡)自定义为鼠标)。如果您在 GUI 选项卡标签上单击鼠标右键,也可以从弹出菜单中选择|Close tab|。
(请注意,这里不赞成提出多个问题;请分别提出。)
我认为这是不可能的;有一个 VimLeavePre 事件你可以钩住,但它不能阻止 Vim 的关闭;该操作(例如:qall!)无法撤消。如果您习惯于总是通过映射或命令关闭 Vim,您可以覆盖它并在其中包含一个签入(使用 tabpagenr('$') > 1)。
如果您担心丢失窗口/选项卡布局,不妨看看 Vim 会话(可以在后台自动保存)。这将允许使用之前打开的窗口重新启动 Vim。
【讨论】:
tabc 或 let ?即用您自己的版本替换它们,可能会或可能不会称为原始版本。
如果你需要这个,你可能做错了。 vim 不需要鼠标。
但是
nnoremap <MiddleMouse> :tabclose<CR>
然后看到TabLineSet.vim : A Vim7 tabline customization 有
closers : 将热点(“!”)添加到标签以点击关闭
【讨论】: