1- *tabpage.txt* For Vim version 9.1. Last change: 2024 Jul 12
1+ *tabpage.txt* For Vim version 9.1. Last change: 2025 Jun 07
22
33
44 VIM REFERENCE MANUAL by Bram Moolenaar
@@ -14,7 +14,8 @@ when used in combination with more than one tab page.
14142. Commands | tab-page-commands |
15153. Other items | tab-page-other |
16164. Setting 'tabline' | setting-tabline |
17- 5. Setting 'guitablabel' | setting-guitablabel |
17+ 5. Setting 'tabpanel' | setting-tabpanel |
18+ 6. Setting 'guitablabel' | setting-guitablabel |
1819
1920{not able to use multiple tab pages when the | +windows | feature was disabled
2021at compile time}
@@ -364,8 +365,8 @@ The 'tabline' option allows you to define your preferred way to tab pages
364365labels. This isn't easy, thus an example will be given here.
365366
366367For basics see the 'statusline' option. The same items can be used in the
367- 'tabline' option. Additionally, the | tabpagebuflist() | , | tabpagenr() | and
368- | tabpagewinnr() | functions are useful.
368+ 'tabline' and 'tabpanel' option. Additionally, the | tabpagebuflist() | ,
369+ | tabpagenr() | and | tabpagewinnr() | functions are useful.
369370
370371Since the number of tab labels will vary, you need to use an expression for
371372the whole option. Something like: >
@@ -418,7 +419,66 @@ clever way when there is not enough room. Check the 'columns' option for the
418419space available.
419420
420421==============================================================================
421- 5. Setting 'guitablabel' *setting-guitablabel*
422+ 5. Setting 'tabpanel' *tabpanel* *setting-tabpanel*
423+
424+ The tabpanel is a vertical sidebar that displays tab page labels along the
425+ side of the window. It looks like this:
426+ >
427+ +-----------+----------------------------------
428+ |(1) |text text text text text text text
429+ | ~/aaa.txt|text text text text text text text
430+ |(2) |text text text text text text text
431+ | ~/.vimrc |text text text text text text text
432+ |(3) |text text text text text text text
433+ | ~/bbb.js |text text text text text text text
434+ | ~/ccc.css|text text text text text text text
435+ | |text text text text text text text
436+ | |text text text text text text text
437+ | |text text text text text text text
438+ <
439+ To configure the tabpanel, use the following options: 'tabpanel' ,
440+ 'showtabpanel' and 'tabpanelopt' .
441+ The 'tabpanel' and 'showtabpanel' options function similar to
442+ 'statusline' or 'tabline' .
443+
444+ The "columns:" item of 'tabpanelopt' option specifies the width of the
445+ tabpanel:
446+ >
447+ +------ This width
448+ |
449+ <----+----->
450+ +-----------+----------------------------------
451+ |(1) |text text text text text text text
452+ | ~/aaa.txt|text text text text text text text
453+ |(2) |text text text text text text text
454+ <
455+ The "align:" item of the 'tabpanelopt' option determines whether the tabpanel
456+ will be displayed on the left or right side of the window:
457+ >
458+ +----------------------------------+-----------
459+ |text text text text text text text|(1)
460+ |text text text text text text text| ~/aaa.txt
461+ |text text text text text text text|(2)
462+ <
463+ The "vert" item of the 'tabpanelopt' option specifies whether a vertical
464+ separator should be displayed between the tabpanel and the display part of the
465+ window:
466+ >
467+ +------ This is
468+ |
469+ v
470+ +-----------+----------------------------------
471+ |(1) |text text text text text text text
472+ | ~/aaa.txt|text text text text text text text
473+ |(2) |text text text text text text text
474+ <
475+ The vertical separator character is taken from "tpl_vert" in 'fillchars' .
476+
477+ You can customize the appearance of the tab page labels using the highlight
478+ groups: | hl-TabPanel | | hl-TabPanelSel | | hl-TabPanelFill |
479+
480+ ==============================================================================
481+ 6. Setting 'guitablabel' *setting-guitablabel*
422482
423483When the GUI tab pages line is displayed, 'guitablabel' can be used to
424484specify the label to display for each tab page. Unlike 'tabline' , which
0 commit comments