{"id":13479710,"url":"https://github.com/pacha/vem-tabline","last_synced_at":"2026-01-17T10:45:07.057Z","repository":{"id":55933462,"uuid":"139355528","full_name":"pacha/vem-tabline","owner":"pacha","description":"A lightweight Vim/Neovim plugin to display buffers and tabs in the tabline","archived":false,"fork":false,"pushed_at":"2020-12-06T06:56:05.000Z","size":542,"stargazers_count":161,"open_issues_count":3,"forks_count":10,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-27T10:37:47.921Z","etag":null,"topics":["neovim","neovim-plugin","vem","vim","vim-plugin"],"latest_commit_sha":null,"homepage":"","language":"Vim script","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pacha.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-07-01T19:20:07.000Z","updated_at":"2025-01-03T08:06:59.000Z","dependencies_parsed_at":"2022-08-15T09:50:18.282Z","dependency_job_id":null,"html_url":"https://github.com/pacha/vem-tabline","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pacha/vem-tabline","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pacha%2Fvem-tabline","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pacha%2Fvem-tabline/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pacha%2Fvem-tabline/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pacha%2Fvem-tabline/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pacha","download_url":"https://codeload.github.com/pacha/vem-tabline/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pacha%2Fvem-tabline/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28506593,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T10:25:30.148Z","status":"ssl_error","status_checked_at":"2026-01-17T10:25:29.718Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["neovim","neovim-plugin","vem","vim","vim-plugin"],"created_at":"2024-07-31T16:02:21.834Z","updated_at":"2026-01-17T10:45:07.037Z","avatar_url":"https://github.com/pacha.png","language":"Vim script","funding_links":[],"categories":["Vim Script"],"sub_categories":[],"readme":"\nVem Tabline\n===========\n\nVem Tabline is a lightweight Vim/Neovim plugin to display your tabs and buffers\nat the top of your screen using the editor's tabline.\n\n![Vem Tabline - Screenshot](doc/screenshots/one-window.png)\n\nVem tabline shows the list of open buffers to the left of the top line\nof the screen and tabs as numbered workspaces to the right.\n\nVem Tabline is a component of [Vem](https://www.vem-editor.org), an alternative\ncommand layout for Vim, but it can be used independently from the Vem project.\n\nFeatures\n--------\n\n* Use of Vim's native tabline (no horizontal splits).\n\n* Support for displaying both buffers and tabs simultaneously.\n\n* Possibility of reordering the buffers in the tabline.\n\n* Support for Vim's native commands (no re-mappings necessary —there are\n  key mappings offered by the plugin but they are optional).\n\n* Support to show the buffer number together with its name.\n\n* Mouse support for clicking on both buffers (only Neovim) and tabpage numbers.\n\n* Integration with vim-devicons to show file type icons\n\n* Lightweight, performant and just focused on providing the tabline\n  functionality.\n\nInstallation\n------------\n\nYou can use Vem Tabline right away without additional configuration. Just\ninstall the plugin and start using it. You only need to configure it if you\nwant to manually order the buffers in the tabline (explained below) or to show\nthe buffer number together with its name.\n\nYou need at least Vim 7.4 or Neovim to use Vem Tabline.\n\nNote: If you don't have set it yet, probably you may want to specify:\n```\nset hidden\n```\nin your `vimrc` file so you can switch buffers without having to save their\nchanges before.\n\nMoving Buffers in Tabline\n-------------------------\n\nVem Tabline allows you to change the order in which buffers are shown in each\ntab. To do so, use the following `\u003cPlug\u003e` mappings:\n\n* `\u003cPlug\u003evem_move_buffer_left-`: Move selected buffer to the left\n* `\u003cPlug\u003evem_move_buffer_right-`: Move selected buffer to the right\n\nVim doesn't support ordering buffers natively so if you use `:bnext` and\n`:bprev`, they will not follow the order of buffers in the tabline if you have\nmodified it. To avoid this problem you can use the following mappings:\n\n* `\u003cPlug\u003evem_prev_buffer-`: Select previous buffer in tabline\n* `\u003cPlug\u003evem_next_buffer-`: Select next buffer in tabline\n\nFor example you could set your mappings like:\n```\nnmap \u003cleader\u003eh \u003cPlug\u003evem_move_buffer_left-\nnmap \u003cleader\u003el \u003cPlug\u003evem_move_buffer_right-\nnmap \u003cleader\u003ep \u003cPlug\u003evem_prev_buffer-\nnmap \u003cleader\u003en \u003cPlug\u003evem_next_buffer-\n```\nWhere leader is typically set to `\\` in Vim.\n\n### Deleting Buffers\n\nYou can use any Vim command to delete or wipeout your buffers. However, if you\nhave reordered them, you'll notice that the next buffer to be displayed is not\nthe next in the tabline, which is not very intuitive. This is because Vim\nchooses the next buffer to display from its internal buffer list and not from\nthe tabline reordered one. If you want to delete a buffer and get the next one\nin the tabline selected, use the following keymap:\n```\nnmap \u003cleader\u003ex \u003cPlug\u003evem_delete_buffer-\n```\nIf the current buffer has unsaved changes, you'll be prompted to confirm.\n\nQuick access to tabs\n--------------------\n\nYou may also want to map the numbered keys to quickly access your tabs. To do\nso, use the following key mappings:\n```\nnnoremap \u003cleader\u003e1 :1tabnext\u003cCR\u003e\nnnoremap \u003cleader\u003e2 :2tabnext\u003cCR\u003e\nnnoremap \u003cleader\u003e3 :3tabnext\u003cCR\u003e\nnnoremap \u003cleader\u003e4 :4tabnext\u003cCR\u003e\nnnoremap \u003cleader\u003e5 :5tabnext\u003cCR\u003e\nnnoremap \u003cleader\u003e6 :6tabnext\u003cCR\u003e\nnnoremap \u003cleader\u003e7 :7tabnext\u003cCR\u003e\nnnoremap \u003cleader\u003e8 :8tabnext\u003cCR\u003e\nnnoremap \u003cleader\u003e9 :9tabnext\u003cCR\u003e\n```\n\nFiletype icons\n--------------\n\nVem Tabline integrates with the\n[vim-devicons](https://github.com/ryanoasis/vim-devicons) plugin to show, next\nto each filename, an icon that displays its file type.\n\nBy default, once the plugin is installed, the file type icons will be displayed\nautomatically. You can prevent this behavior by adding:\n`let g:vem_tabline_show_icon = 0` to your `vimrc` file.\n\n\nColor Scheme\n------------\n\nVem Tabline uses the default colors of your color scheme for rendering the\ntabline. However you may change them using the following highlighting groups:\n\nHighlighting Group         | Default     | Meaning\n---------------------------|-------------|----------------------------------------------------------------\nVemTablineNormal           | TabLine     | Non-selected buffers\nVemTablineLocation         | TabLine     | Directory name of non-selected buffers (when present)\nVemTablineNumber           | TabLine     | Number of non-selected buffers (when present)\nVemTablineSelected         | TabLineSel  | Currently selected buffer\nVemTablineLocationSelected | TabLineSel  | Directory name of the currently selected buffer (when present)\nVemTablineNumberSelected   | TabLineSel  | Number of the currently selected buffer (when present)\nVemTablineShown            | TabLine     | Buffers currently being displayed in windows\nVemTablineLocationShown    | TabLine     | Directory name of the buffers being displayed (when present)\nVemTablineNumberShown      | TabLine     | Number of the buffers being displayed (when present)\nVemTablineSeparator        | TabLineFill | '+X more' text\nVemTablinePartialName      | TabLine     | Partially displayed buffer at the edge of the tabline\nVemTablineTabSelected      | TabLineSel  | Selected tab\nVemTablineTabNormal        | TabLineFill | Non selected tab\n\nFor example, with the following code you can configure your tabline colors using\ndifferent shades of grey:\n\n![Vem Tabline - Color scheme example](doc/screenshots/color-scheme-example.png)\n\n```\nhighlight VemTablineNormal           term=reverse cterm=none ctermfg=0   ctermbg=251 guifg=#242424 guibg=#cdcdcd gui=none\nhighlight VemTablineLocation         term=reverse cterm=none ctermfg=239 ctermbg=251 guifg=#666666 guibg=#cdcdcd gui=none\nhighlight VemTablineNumber           term=reverse cterm=none ctermfg=239 ctermbg=251 guifg=#666666 guibg=#cdcdcd gui=none\nhighlight VemTablineSelected         term=bold    cterm=bold ctermfg=0   ctermbg=255 guifg=#242424 guibg=#ffffff gui=bold\nhighlight VemTablineLocationSelected term=bold    cterm=none ctermfg=239 ctermbg=255 guifg=#666666 guibg=#ffffff gui=bold\nhighlight VemTablineNumberSelected   term=bold    cterm=none ctermfg=239 ctermbg=255 guifg=#666666 guibg=#ffffff gui=bold\nhighlight VemTablineShown            term=reverse cterm=none ctermfg=0   ctermbg=251 guifg=#242424 guibg=#cdcdcd gui=none\nhighlight VemTablineLocationShown    term=reverse cterm=none ctermfg=0   ctermbg=251 guifg=#666666 guibg=#cdcdcd gui=none\nhighlight VemTablineNumberShown      term=reverse cterm=none ctermfg=0   ctermbg=251 guifg=#666666 guibg=#cdcdcd gui=none\nhighlight VemTablineSeparator        term=reverse cterm=none ctermfg=246 ctermbg=251 guifg=#888888 guibg=#cdcdcd gui=none\nhighlight VemTablinePartialName      term=reverse cterm=none ctermfg=246 ctermbg=251 guifg=#888888 guibg=#cdcdcd gui=none\nhighlight VemTablineTabNormal        term=reverse cterm=none ctermfg=0   ctermbg=251 guifg=#242424 guibg=#4a4a4a gui=none\nhighlight VemTablineTabSelected      term=bold    cterm=bold ctermfg=0   ctermbg=255 guifg=#242424 guibg=#ffffff gui=bold\n```\n\nMultiwindow mode\n----------------\n\nVem Tabline offers a mode to show only relevant buffers depending on the layout\nof the current tabpage:\n\n* In tabs with only one window all buffers are listed.\n\n* In tabs with more than one window, only the buffers that are being displayed\n  are listed.\n\nThis allows you to have a cleaner list of buffers depending on the tab that is\nactive and goes well with Vim's philosophy of using tabs as workspaces to\narrange windows in different configurations.\n\nTo enable this mode, set `g:vem_tabline_multiwindow_mode` to 1 in your `vimrc`.\nSee [Configuration](#configuration) for more information.\n\n\nConfiguration\n-------------\n\nThe plugin is pretty simple and doesn't require manual configuration. However,\nthere are some parameters that you may want to change. The most important ones\nare:\n\n`g:vem_tabline_show`: boolean (default: 1)\n\n    The value of this option specifies how the tabline will be shown:\n\n    0: never shown\n    1: shown when there's more than one tab or buffer open\n    2: always shown\n\n    Note: Vim option `showtabline` is used for the same purpose and takes these\n    same values, however it only checks the number of tabs and ignores the\n    number of buffers when it is set to 1. Please, use `g:vem_tabline_show`\n    instead of `showtabline` since the plugin will override the value of the\n    option to fix this behavior.\n\n`g:vem_tabline_multiwindow_mode`: boolean (default: 0)\n\n    When this mode is active, for layouts of multiple windows in the tabpage,\n    only the buffers that are displayed in those windows are listed in the\n    tabline. That only applies to multi-window layouts, if there is only one\n    window in the tabpage, all buffers are listed.\n\n    If this mode is set to 0, all buffers are listed in the tabline regardless\n    of the window layout.\n\n`g:vem_tabline_show_number`: string (default: 'none')\n\n    Show number in front of each buffer. The possible values are:\n\n        none: no number is shown\n        buffnr: Vim's buffer number is shown\n        index: displayed buffers are numbered sequentially starting from 1\n\n    Check the help file to get more information about how to switch to buffers\n    using the index number.\n\nFor more configuration options, check the [Vim help file](/doc/tabline.txt)\nprovided with the plugin.\n\nCredits\n-------\n\nThere are many plugins to display the buffers in Vim. The design of Vem Tabline\nis based on two very cool ones:\n[vim-buftabline](https://github.com/ap/vim-buftabline) and\n[WinTabs](https://github.com/zefei/vim-wintabs). It doesn't share code with\nthem but many ideas come from their original authors.\n\nRelated projects\n----------------\n\n* [Vem Text Editor](https://www.vem-editor.org): An alternative command layout\n  for Vim.\n\n* [Vem Statusline](https://github.com/pacha/vem-statusline): A light\n  statusline for Vim.\n\n* [Vem Dark](https://github.com/pacha/vem-dark): A dark color scheme for\n  Vim based on Wombat.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpacha%2Fvem-tabline","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpacha%2Fvem-tabline","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpacha%2Fvem-tabline/lists"}