/nvim-tabline

nvim port of tabline.vim with Lua

Primary LanguageLuaMIT LicenseMIT

nvim-tabline

A minimal Tabline plugin for Neovim, written in Lua. It is basically a drop-in replacement for tabline.vim but with a few differences.

nvim-tabline-screenshots

Installation

With lazy.nvim:

{
    'crispgm/nvim-tabline',
    dependencies = { 'nvim-tree/nvim-web-devicons' }, -- optional
    config = true,
}

Configuration

require('tabline').setup({opts})

Defaults

require('tabline').setup({
    show_index = true,        -- show tab index
    show_modify = true,       -- show buffer modification indicator
    show_icon = false,        -- show file extension icon
    modify_indicator = '[+]', -- modify indicator
    no_name = 'No name',      -- no name buffer name
    brackets = { '[', ']' },  -- file name brackets surrounding
    inactive_tab_max_len = 0  -- max length of inactive tab titles, 0 to ignore
})

Mappings

Vim's tabpage commands are powerful enough, :help tabpage for details. If you need switch between tabs, here is a great tutorial.

Highlights

The highlighting of the tab pages line follows vim settings. See :help setting-tabline for details.

Differences

nvim-tabline is not exactly a Lua translation. There are some differences for configuration:

  • Control whether to display tab number (show_index) and buffer modification indicator (show_modify).
  • File extension icon with nvim-dev-icons.
  • Customize modify indicator and no name buffer name.
  • Close button (g:tablineclosebutton) is not supported.