# Neovim

Published January 1, 2026 · Updated August 10, 2026

Hyperextensible Vim-based text editor focused on extensibility and usability for developers.

Category: Developer Tools · Free · Replaces Sublime Text ($99) · [Official website](https://neovim.io)

## Install with Homebrew

`brew install neovim`

## Quick take

Pick Neovim 0.12 if you want Vim's editing language with language aware IDE help and you are willing to pay the setup cost. On a Mac it is light, fast and consistent over SSH. Start with kickstart.nvim or LazyVim, keep Mason for servers, and pin plugin versions once the setup feels good.

Best for: Developers who want keyboard-driven editing with LSP, Users escaping Electron memory overhead, Engineers who customize deeply with Lua

## What is Neovim?

August 2026 status: Neovim stable is the **0.12** line, most recently **0.12.4** on GitHub Releases. The site FAQ lists stable as 0.12. Highlights in this line are built in LSP, Tree-sitter, first class Lua, and the 0.12 ui2 work that removes the old Press ENTER to continue prompts. Nightly builds report **0.13.0-dev**. On a Mac you install from Homebrew with brew install neovim, from the official arm64 and x86_64 archives, or via a config starter such as LazyVim or kickstart.nvim. The editor is free under Apache 2.0 with parts under the Vim license. It is still the modal editor people pick when they want IDE features without paying Electron memory costs.

Neovim is Vim rebuilt for a modern setup. It keeps the motion language that makes Vim fast, the way operators, motions and text objects combine, and it replaces the internals with an asynchronous event loop. That change is why plugins no longer freeze the editor and why tooling can run without blocking you.

The practical split from Vim is Lua. Vimscript works, but it is a niche language for a single editor. Neovim lets you write your config in Lua, a small general purpose language with real tables, modules and error handling. Your init.lua is code that runs inside the editor. You import modules, set options, define keys and load plugins through lazy.nvim, which lazy loads plugins and gives you a small UI for updates.

The built in LSP client is what turns Neovim into an IDE. Point it at rust-analyzer, typescript-language-server or gopls and you get completions, diagnostics as you type, go to definition, find references, rename and code actions. Tree-sitter handles highlighting, folding and structural selections, and both systems run in separate processes so typing stays responsive. That split is why the editor can handle a large project grep or a language server restart without freezing the buffer you are editing. The 0.12 line also tidied default options so a bare install feels less surprising on first open.

## Features

- **Neovim 0.12 Stable Line.** The 0.12 line is the stable target in 2026, with point patches like 0.12.4. It keeps Lua first config, built in LSP, Tree-sitter and the ui2 polish that removes ENTER prompts. If you track nightlies you will see 0.13.0-dev.
- **Lua Configuration & Plugin System.** Your config is ~/.config/nvim/init.lua. From there you import modules, set options and declare plugins in a lazy.nvim spec. lazy.nvim loads plugins when needed, tracks updates and shows a small UI for the plugin list. The Lua API exposes buffers, autocommands, custom commands and windows directly, which is a different feel from an extension host that talks over an external API. Dotfiles repos often include the whole nvim directory so the same setup travels between Macs.
- **Built-in LSP Client.** The editor ships an LSP client. Install a server for your language, Mason.nvim can do the downloading, wire it up with nvim-lspconfig, and add a completion source such as nvim-cmp. You then get diagnostics in the buffer, go to definition with gd, find references with gr, rename, code actions and hover docs. Multiple servers can run in one buffer, for example TypeScript plus ESLint plus Tailwind, because each server is its own process. Config lives in Lua, typically via nvim-lspconfig, with per server settings for root detection and formatting.
- **Tree-sitter Integration.** Tree-sitter builds a real syntax tree and updates it as you type, so highlighting does not break inside string interpolation or nested blocks. It also gives you structural objects. Select inside a function with vif, around a class with vac, or jump between functions with ]m. Any language with a Tree-sitter grammar gets the same motions.
- **Telescope (Fuzzy Finder).** Telescope is the fuzzy finder that most setups use for everything. Find files, live grep the project, list buffers, browse LSP symbols and diagnostics, and search Git history. Results show in a floating window with a preview. Underneath it uses ripgrep and fd, so even large repos stay quick. The usual convention is <leader>f for file and <leader>s for symbol or search. If you have not set ripgrep and fd, install them with Homebrew first so Telescope finds files quickly on the first run.
- **Modal Editing & Composable Commands.** Modal editing keeps the Vim grammar. Normal mode for moves and commands, Insert for typing, Visual for selection. Operators like d, c and y combine with motions like w, $ and } and with objects like iw, i" and it. ci" changes text inside quotes. dap deletes a paragraph. gqip reformats one. Once the combinations are in muscle memory these edits take a few keys where a mouse workflow takes several clicks. Motions compose, so operators, counts and objects build the edit you intend without a dialog box.
- **kickstart.nvim & LazyVim.** kickstart.nvim is a single commented file of about 500 lines by TJ DeVries. It sets up LSP, Tree-sitter, Telescope and completion with defaults you can read. Clone it and change it. LazyVim builds on lazy.nvim and gives you a fuller IDE on day one, with neo-tree, lualine, which-key and ready language packs for TypeScript, Python, Rust and Go. kickstart teaches. LazyVim ships.
- **Client-Server Attach Workflows.** The architecture lets more than one UI attach to the same core and lets you move work between sessions. Front ends like Neovide, VimR and vscode-neovim reuse the same Lua config, which is useful on a Mac if you want a GPU smooth window without maintaining a second config.

## How to Install Neovim on Mac

You install the binary, point it at a config directory, and let the plugin manager fetch the rest. A Nerd Font helps icons in plugins such as telescope and lualine show correctly in your terminal.

1. **Install via Homebrew.** Run brew install neovim. That pulls the current stable in the 0.12 line. Check with nvim --version.
2. **Choose a Starting Configuration.** Pick a starter. For a file you can read line by line use git clone https://github.com/nvim-lua/kickstart.nvim ~/.config/nvim. For an out of the box IDE use git clone https://github.com/LazyVim/starter ~/.config/nvim. First launch pulls LSP, Tree-sitter, Telescope and completion.
3. **Install Language Servers.** Inside Neovim run :Mason, search for your language servers such as typescript-language-server, pyright or lua-language-server, and press i to install. Mason handles the download and path setup.
4. **Learn the Basics.** Run :Tutor inside Neovim. It walks motions, operators and text objects in 30 to 45 minutes and is the fastest way to get past the first week.

## Pros

- Free, open source, and extremely lightweight on macOS
- Built-in LSP and Tree-sitter rival IDE intelligence
- Lua configuration and vast plugin ecosystem
- 0.12 stable line improves UI ergonomics
- Works identically over SSH and locally
- Multiple GUI front ends without abandoning config

## Cons

- Steep learning curve from GUI editors
- DIY configuration time unless you adopt a starter kit
- Plugin breakage can follow major version jumps
- GUI polish depends on third-party UIs
- Collaboration features are not the focus versus Zed/VS Code Live Share

## Deep Dive: How Neovim Became an IDE

How a Vim fork turned into a terminal IDE without going GUI first.

## FAQ

### What is the latest stable Neovim version in 2026?

Stable is the 0.12 line (e.g. 0.12.4 on GitHub Releases). Nightly builds report 0.13.0-dev.

### Is Neovim free?

Yes. There is no paid Neovim SKU.

### How do I install Neovim on Mac?

Run `brew install neovim` for stable, or download official macOS arm64/x86_64 archives from GitHub Releases. Use a config starter like kickstart.nvim or LazyVim if you want IDE defaults.

### Neovim vs VS Code?

VS Code is easier out of the box with GUI extensions. Neovim is faster, more keyboard-driven, and uses far less RAM once configured. Expect a learning curve measured in weeks.

### Do I need to learn Lua?

Lua is the recommended config language and unlocks the modern ecosystem. Vimscript still works, but new configs and plugins are Lua-first.

### Does Neovim include LSP?

Yes. Install the servers you need, often through Mason, and point the built in client at them with nvim-lspconfig. A completion plugin such as nvim-cmp makes the results usable.

### What about Vim?

Vim continues under community maintenance. Neovim diverges with Lua, built-in LSP, Tree-sitter, and a different release train. pick based on ecosystem, not nostalgia alone.

### Can I use Neovim inside VS Code?

Yes via projects like vscode-neovim if you want modal editing inside VS Code’s UI.

## Sources

- [Neovim homepage](https://neovim.io/)
- [Neovim GitHub releases](https://github.com/neovim/neovim/releases)
- [Neovim install docs](https://neovim.io/doc/install/)
- [Neovim roadmap](https://neovim.io/roadmap/)
- [neovim/neovim](https://github.com/neovim/neovim)
- [Neovim vs Vim 2026](https://tech-insider.org/neovim-vs-vim-2026/)

## Related

- [Cursor](https://bundl.run/apps/cursor)
- [Claude Code](https://bundl.run/apps/claude-code)
- [ChatGPT](https://bundl.run/apps/chatgpt)
- [Claude](https://bundl.run/apps/claude)
- [Codex](https://bundl.run/apps/codex)
- [Windsurf](https://bundl.run/apps/windsurf)
- [Neovim vs Vim](https://bundl.run/compare/neovim-vs-vim)
- [Free alternative to Sublime Text](https://bundl.run/https:/)

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Organization",
      "@id": "https://bundl.run/#organization",
      "name": "Bundl.run",
      "url": "https://bundl.run",
      "logo": {
        "@type": "ImageObject",
        "url": "https://bundl.run/og-image.png",
        "width": 1200,
        "height": 630
      },
      "description": "The Ninite for Mac. Install all your essential Mac apps with one terminal command.",
      "sameAs": [
        "https://github.com/abhiofficial/bundl-mac-setup",
        "https://x.com/bundlrun",
        "https://www.producthunt.com/products/bundl-run"
      ],
      "foundingDate": "2024",
      "contactPoint": {
        "@type": "ContactPoint",
        "contactType": "customer support",
        "url": "https://bundl.run/faq"
      }
    },
    {
      "@type": "WebSite",
      "@id": "https://bundl.run/#website",
      "name": "Bundl.run",
      "url": "https://bundl.run",
      "description": "The Ninite for Mac. Install all your essential Mac apps with one terminal command.",
      "publisher": {
        "@id": "https://bundl.run/#organization"
      },
      "inLanguage": "en-US"
    },
    {
      "@type": "Person",
      "@id": "https://bundl.run/authors/alex-chen#person",
      "name": "Alex Chen",
      "jobTitle": "Senior Developer Tools Specialist",
      "url": "https://bundl.run/authors/alex-chen",
      "worksFor": {
        "@id": "https://bundl.run/#organization"
      },
      "description": "Alex Chen has been evaluating developer tools and productivity software for over 12 years, with deep expertise in code editors, terminal emulators, and development environments. As a former software engineer at several Bay Area startups, Alex brings hands-on experience with the real-world workflows these tools are meant to enhance. Alex tests each application extensively on both Intel and Apple Silicon Macs, documenting performance metrics, integration capabilities, and workflow efficiency. When not reviewing software, Alex contributes to open-source projects and writes technical tutorials for the developer community.",
      "knowsAbout": [
        "Code Editors & IDEs",
        "Terminal Emulators",
        "Version Control Tools",
        "DevOps & CI/CD",
        "API Development",
        "Performance Benchmarking"
      ],
      "image": "https://bundl.run/authors/alex-chen.svg"
    },
    {
      "@type": "BreadcrumbList",
      "@id": "https://bundl.run/apps/neovim#breadcrumb",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Home",
          "item": "https://bundl.run"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Apps",
          "item": "https://bundl.run/apps"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "Neovim",
          "item": "https://bundl.run/apps/neovim"
        }
      ]
    },
    {
      "@type": "WebPage",
      "@id": "https://bundl.run/apps/neovim",
      "url": "https://bundl.run/apps/neovim",
      "name": "Neovim for Mac",
      "description": "Hyperextensible Vim-based text editor focused on extensibility and usability for developers.",
      "isPartOf": {
        "@id": "https://bundl.run/#website"
      },
      "publisher": {
        "@id": "https://bundl.run/#organization"
      },
      "inLanguage": "en-US",
      "datePublished": "2026-01-01T00:00:00Z",
      "dateModified": "2026-08-10T13:34:04.000Z",
      "author": {
        "@id": "https://bundl.run/authors/alex-chen#person"
      },
      "mainEntity": {
        "@id": "https://bundl.run/apps/neovim#software"
      },
      "breadcrumb": {
        "@id": "https://bundl.run/apps/neovim#breadcrumb"
      }
    },
    {
      "@type": "SoftwareApplication",
      "@id": "https://bundl.run/apps/neovim#software",
      "name": "Neovim",
      "description": "Hyperextensible Vim-based text editor focused on extensibility and usability for developers.",
      "applicationCategory": "DeveloperApplication",
      "operatingSystem": "macOS",
      "url": "https://bundl.run/apps/neovim",
      "sameAs": [
        "https://neovim.io/",
        "https://formulae.brew.sh/formula/neovim"
      ],
      "review": {
        "@type": "Review",
        "author": {
          "@id": "https://bundl.run/authors/alex-chen#person"
        },
        "reviewBody": "Pick Neovim 0.12 if you want Vim's editing language with language aware IDE help and you are willing to pay the setup cost. On a Mac it is light, fast and consistent over SSH. Start with kickstart.nvim or LazyVim, keep Mason for servers, and pin plugin versions once the setup feels good."
      },
      "about": {
        "@type": "Thing",
        "name": "Neovim",
        "description": "Hyperextensible Vim-based text editor focused on extensibility and usability for developers."
      },
      "isPartOf": {
        "@id": "https://bundl.run/#website"
      }
    },
    {
      "@type": "Article",
      "@id": "https://bundl.run/apps/neovim#article",
      "headline": "Neovim for Mac — Full Review & Installation Guide 2026",
      "description": "Pick Neovim 0.12 if you want Vim's editing language with language aware IDE help and you are willing to pay the setup cost. On a Mac it is light, fast and consistent over SSH. Start with kickstart.nvim or LazyVim, keep Mason for servers, and pin plugin versions once the setup feels good.",
      "image": "https://bundl.run/og-image.png",
      "author": {
        "@id": "https://bundl.run/authors/alex-chen#person"
      },
      "publisher": {
        "@id": "https://bundl.run/#organization"
      },
      "datePublished": "2026-01-01T00:00:00Z",
      "dateModified": "2026-08-10T13:34:04.000Z",
      "mainEntityOfPage": {
        "@type": "WebPage",
        "@id": "https://bundl.run/apps/neovim"
      },
      "articleSection": "DeveloperApplication",
      "speakable": {
        "@type": "SpeakableSpecification",
        "cssSelector": [
          "h1",
          ".key-facts"
        ]
      },
      "about": {
        "@type": "SoftwareApplication",
        "name": "Neovim",
        "url": "https://bundl.run/apps/neovim"
      },
      "mentions": [
        {
          "@type": "SoftwareApplication",
          "name": "Sublime Text"
        }
      ]
    },
    {
      "@type": "FAQPage",
      "@id": "https://bundl.run/apps/neovim#faq",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "What is the latest stable Neovim version in 2026?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Stable is the 0.12 line (e.g. 0.12.4 on GitHub Releases). Nightly builds report 0.13.0-dev."
          }
        },
        {
          "@type": "Question",
          "name": "Is Neovim free?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Yes. There is no paid Neovim SKU."
          }
        },
        {
          "@type": "Question",
          "name": "How do I install Neovim on Mac?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Run `brew install neovim` for stable, or download official macOS arm64/x86_64 archives from GitHub Releases. Use a config starter like kickstart.nvim or LazyVim if you want IDE defaults."
          }
        },
        {
          "@type": "Question",
          "name": "Neovim vs VS Code?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "VS Code is easier out of the box with GUI extensions. Neovim is faster, more keyboard-driven, and uses far less RAM once configured. Expect a learning curve measured in weeks."
          }
        },
        {
          "@type": "Question",
          "name": "Do I need to learn Lua?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Lua is the recommended config language and unlocks the modern ecosystem. Vimscript still works, but new configs and plugins are Lua-first."
          }
        },
        {
          "@type": "Question",
          "name": "Does Neovim include LSP?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Yes. Install the servers you need, often through Mason, and point the built in client at them with nvim-lspconfig. A completion plugin such as nvim-cmp makes the results usable."
          }
        },
        {
          "@type": "Question",
          "name": "What about Vim?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Vim continues under community maintenance. Neovim diverges with Lua, built-in LSP, Tree-sitter, and a different release train. pick based on ecosystem, not nostalgia alone."
          }
        },
        {
          "@type": "Question",
          "name": "Can I use Neovim inside VS Code?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Yes via projects like vscode-neovim if you want modal editing inside VS Code’s UI."
          }
        }
      ],
      "isPartOf": {
        "@id": "https://bundl.run/apps/neovim"
      }
    }
  ]
}
```