Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Neovim
  3. nvim-cokeline

nvim-cokeline

MITLuav0.4.0

A highly customizable Neovim bufferline plugin that provides a framework for building your ideal tab interface.

GitHubGitHub
634 stars43 forks0 contributors

What is nvim-cokeline?

nvim-cokeline is a Neovim bufferline plugin that provides a highly customizable framework for displaying and managing open buffers as tabs. It solves the problem of rigid, opinionated bufferlines by allowing users to define every aspect of their tab interface through Lua configuration, from visual styling to interactive behavior.

Target Audience

Neovim users who want complete control over their bufferline appearance and functionality, particularly those comfortable with Lua configuration and seeking to tailor their editor interface precisely to their workflow.

Value Proposition

Developers choose nvim-cokeline for its unparalleled customization capabilities, allowing them to build exactly the bufferline they envision rather than settling for limited preset options, while maintaining performance with dynamic rendering and rich features like LSP integration and buffer picking.

Overview

:nose: A Neovim bufferline for people with addictive personalities

Use Cases

Best For

  • Neovim users wanting pixel-perfect control over their bufferline appearance
  • Creating bufferlines that integrate seamlessly with file explorer sidebars
  • Implementing advanced buffer navigation with keyboard pick letters
  • Building bufferlines with dynamic LSP diagnostic indicators
  • Adding interactive elements like hover effects and clickable close buttons
  • Users who frequently reorder buffers via mouse drag or keyboard shortcuts

Not Ideal For

  • Neovim users who want a plug-and-play bufferline with zero configuration effort
  • Teams enforcing strict, uniform editor setups without room for individual customization
  • Beginners to Neovim Lua API who prefer declarative configs over scripting functions
  • Resource-constrained environments where plugin dependencies and dynamic features are prohibitive

Pros & Cons

Pros

Granular Customization Control

Every bufferline aspect—styling, colors, components—is definable via Lua functions, enabling pixel-perfect layouts tailored to individual workflows, as shown in the extensive configuration examples.

Dynamic Intelligent Rendering

Always centers the focused buffer and smartly truncates content to maintain visibility, even with many open buffers, preventing clutter while keeping navigation intuitive.

Rich Interactive Features

Supports clickable buffers, hover events with custom handlers, mouse-drag reordering, and close buttons, transforming the bufferline into an interactive management tool.

LSP Diagnostic Integration

Components can change style based on real-time LSP error, warning, info, and hint counts, providing visual diagnostics without leaving the bufferline.

Cons

Steep Configuration Overhead

Requires writing Lua functions and component definitions from scratch, with no pre-styled defaults, making initial setup time-consuming and complex for non-Lua users.

Mandatory External Dependencies

Depends on plenary.nvim for core functionality and often nvim-web-devicons for icons, adding installation steps and potential version compatibility issues.

Potential Performance Trade-offs

Features like dynamic rendering, hover events, and LSP integration may introduce latency on low-end systems or with an excessive number of buffers, as noted in the rendering section.

Frequently Asked Questions

Quick Stats

Stars634
Forks43
Contributors0
Open Issues11
Last commit3 months ago
CreatedSince 2021

Tags

#hacktoberfest#tab-management#mouse-support#neovim-plugin#neovim-lua#editor-ui#tabline#lsp-integration#vim-plugins#neovim#lua#bufferline#customization#lua-configuration

Built With

N
Neovim
L
Lua

Included in

Neovim20.6k
Auto-fetched 22 hours ago

Related Projects

bufferline.nvimbufferline.nvim

A snazzy bufferline for Neovim

Stars4,377
Forks239
Last commit1 year ago
barbar.nvimbarbar.nvim

The neovim tabline plugin.

Stars2,733
Forks96
Last commit3 months ago
tabby.nvimtabby.nvim

A declarative, highly configurable, and neovim style tabline plugin. Use your nvim tabs as a workspace multiplexer!

Stars774
Forks27
Last commit9 months ago
luatab.nvimluatab.nvim

Tabline lua plugin for neovim

Stars211
Forks21
Last commit1 year ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub