Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Neovim
  3. outline.nvim

outline.nvim

MITLuav1.2.0

A Neovim sidebar plugin that visualizes and navigates code symbols in a tree hierarchy, powered by LSP and other providers.

Visit WebsiteGitHubGitHub
1.0k stars39 forks0 contributors

What is outline.nvim?

outline.nvim is a Neovim plugin that displays a sidebar with a hierarchical tree of code symbols, such as functions, classes, and variables, extracted from LSP or other providers. It helps developers visualize code structure and navigate large codebases efficiently by providing a collapsible outline that updates in real-time as the cursor moves.

Target Audience

Neovim users, particularly developers working with large or complex codebases who need better code navigation and structure visualization. It's ideal for those using LSP-supported languages, Markdown, Norg, or other providers.

Value Proposition

Developers choose outline.nvim for its extensive customization, multi-provider support, and smooth integration with Neovim's ecosystem. Its fork from symbols-outline.nvim brings numerous fixes and improvements, offering a more stable and feature-rich alternative with better performance and configurability.

Overview

Fancy code outline sidebar to visualize and navigate code symbols in a tree hierarchy

Use Cases

Best For

  • Navigating large codebases with a visual symbol hierarchy
  • Understanding code structure in LSP-supported languages like JavaScript, Python, or Go
  • Working with Markdown or Norg files to see heading outlines
  • Quickly jumping to symbol definitions without leaving the sidebar
  • Customizing symbol icons and filtering based on filetype or kind
  • Using multiple outline windows across different Neovim tabpages

Not Ideal For

  • Projects requiring a floating window or popup for symbol navigation instead of a fixed sidebar
  • Users who need built-in Telescope integration for fuzzy-finding symbols
  • Developers relying on Neovim nightly features not supported in outline.nvim, such as dropbar.nvim's breadcrumbs
  • Teams wanting a miller column view for deeper symbol hierarchy navigation without additional plugins

Pros & Cons

Pros

Multi-Provider Flexibility

Supports LSP, Markdown, Norg, and external providers like treesitter and ctags, allowing it to work with a wide range of file types beyond just LSP-supported languages.

Real-Time Cursor Syncing

Automatically updates the outline and highlights the current symbol as the cursor moves, making navigation seamless and reducing manual effort.

Extensive Customization Options

Offers per-filetype symbol filtering, custom icon functions, and adjustable window settings, enabling users to tailor the interface precisely to their workflow.

Active Fork with Improvements

As a fork of symbols-outline.nvim, it incorporates numerous fixes and enhancements, such as better performance and added features like per-tabpage outlines.

Cons

Preview Window Lag

The preview window can be slow when loading large buffers because it reads the entire file for syntax highlighting, impacting responsiveness in large codebases.

Limited Simultaneous Outlines

Does not support multiple outline windows in the same tabpage, which can be restrictive for users who want to compare outlines from different buffers side-by-side.

External Provider Dependencies

For full treesitter support beyond JSX and Norg, users must install separate external plugins, adding complexity to setup and maintenance.

Frequently Asked Questions

Quick Stats

Stars1,037
Forks39
Contributors0
Open Issues33
Last commit1 month ago
CreatedSince 2023

Tags

#treesitter#developer-tools#productivity#outline#nvim-lua#sidebar#neovim-plugin#code-navigation#neovim#lua#lsp#vim-plugin

Built With

N
Neovim
L
Lua

Links & Resources

Website

Included in

Neovim20.6k
Auto-fetched 18 hours ago

Related Projects

nvim-lspconfignvim-lspconfig

Quickstart configs for Nvim LSP

Stars13,807
Forks2,471
Last commit1 day ago
lspsaga.nvimlspsaga.nvim

improve neovim lsp experience

Stars3,793
Forks304
Last commit8 days ago
none-ls.nvimnone-ls.nvim

null-ls.nvim reloaded / Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua.

Stars3,246
Forks122
Last commit1 month ago
rustaceanvimrustaceanvim

🦀 Supercharge your Rust experience in Neovim! A heavily modified fork of rust-tools.nvim

Stars3,051
Forks131
Last commit22 hours 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