如何在GVIM中显示选项卡closuresbutton?
请让我知道如何显示GVIM中每个标签页上的closuresbutton。
另外,如果我打开多个标签页closuresGVIM,是否可以设置警告?
显示closuresbutton
'tabline'
选项可以包含closures选项卡button的%X
标记,但仅适用于选项卡行的控制台版本。 :help 'guitablabel'
明确指出:
请注意,语法突出显示不用于该选项。 %T和%X项目也被忽略。
所以,为了从字面上得到你想要的,你必须切换到(丑陋的)基于文本的标签行
:set guioptions-=e
但是请注意,在Vim中,使用鼠标(即使可以通过其他应用程序(如Web浏览器选项卡)进行定制)也是不受欢迎的。 如果用鼠标右键单击GUI选项卡标签,也可以select|Close tab|
从popup菜单。
防止选项卡closures
(请注意,在这里提出多个问题,请分开提问。)
我不认为这是可能的。 有一个VimLeavePre
事件,你可以挂钩,但它不能阻止Vim的closures; 行动(例如:qall!
)不能撤消。 如果您习惯通过映射或命令closuresVim,您可以覆盖它并在其中包含一个检查(使用tabpagenr('$') > 1
)。
如果你担心失去你的窗口/标签布局,而是看看Vim会话 (可以在后台自动保存)。 这将允许以前打开的窗口重新启动Vim。
简答
有效使用缓冲区!
长答案
你可以考虑使用:tabclose
closures你的标签。 这有利于closures选项卡(并使您远离鼠标),但也只是令人讨厌,可以激发工作stream程转换为使用缓冲区和分割。 至于closuresclosures多个窗口的选项卡的警告,我看不到有什么好处,如果你有'hidden'
设置然后缓冲区仍然在那里没有伤害。 如果您没有'hidden'
,则在closures之前,将会提示修改后的缓冲区。
为什么不select标签
标签页是伟大的。 然而,这一切都归结为VIM把标签页视为更多的视图端口到一组窗口或工作区。 标签页面不能很好地缩放。 只需打开一些其他的GUI编辑器,打开20个左右的选项卡。 处理起来很棘手。 我已经打开了100多个缓冲区并在它们之间切换而不用担心。 缓冲区的大小只是标签所没有的。 当使用terminal时,缓冲区和分割也适用于较小的窗口。
不要只听我的话 这里有一些更多的支持信息:
- Vimcast的Drew Neil: 如何使用制表符
- “正确”使用缓冲区
- 看看Bram Moolenaar: 有效的文本编辑video的七种习惯
- 在stackoverflow: 使用Vim的标签,如缓冲区
- 缓冲区,窗口和选项卡
快速缓冲提示和技巧
-
set hidden
会在放弃时隐藏缓冲区。 - 使用
:sb
切换到您已经打开的缓冲区。 -
:sb
和:b
都可以采取部分名称和globs。 例如:sb foo*
- 看看
'switchbuf'
并改变你的喜好。 - 学会爱
:sp
,:new
,以及所有types的split命令。 - 学习一些
<cw>
命令让你的生活更轻松。 - 使用大写字母标记跳回到知道跳回的缓冲区。
- 使用标签跳转到定义。
- 可能与标签一起使用
cscope
- 使用
<c-6>
切换到以前编辑的文件。 - 使用
<co>
和<ci>
移动跳转列表中较旧/较新的位置。 - 有可能使用其中的一个缓冲区插件。 例如
CtrlP
有关更多信息,请参阅
:h :sb :h windows :h 'hidden' :h 'swb' :h ctrl-6 :h ctrl-o :h tags :h cscope :h tab-page-commands
如果你需要这个,你可能做错了。 vim不需要鼠标。
但是怎么样
nnoremap <MiddleMouse> :tabclose<CR>
除此之外,看到TabLineSet.vim:一个Vim7标签自定义其中
closures程序:向标签中添加热点(“!”)以进行点击closures