{
  "@context": [
    "https://schema.org",
    {
      "nuanyue": "https://www.nuanyue.com/ns#"
    }
  ],
  "@type": "SoftwareApplication",
  "@id": "https://www.nuanyue.com/software/neovim/#software",
  "name": "Neovim",
  "description": "Vim fork that keeps the modal editing model and rebuilds the internals: Lua configuration, an embedded LSP client, tree-sitter parsing and a built-in terminal.",
  "url": "https://www.nuanyue.com/software/neovim/",
  "mainEntityOfPage": "https://www.nuanyue.com/software/neovim/",
  "operatingSystem": "macOS",
  "applicationCategory": "BusinessApplication",
  "publisher": {
    "name": "Neovim contributors",
    "url": "https://neovim.io"
  },
  "sameAs": [
    "https://neovim.io",
    "https://github.com/neovim/neovim"
  ],
  "softwareVersion": "0.12.5",
  "license": "Apache-2.0, with parts under the Vim license",
  "offers": {
    "@type": "Offer",
    "price": "0",
    "priceCurrency": "USD"
  },
  "nuanyue:record": {
    "schemaVersion": 1,
    "id": "software:neovim",
    "slug": "neovim",
    "name": "Neovim",
    "type": "SoftwareApplication",
    "entityType": "code editor",
    "description": "Vim fork that keeps the modal editing model and rebuilds the internals: Lua configuration, an embedded LSP client, tree-sitter parsing and a built-in terminal.",
    "shortDescription": "Vim fork with Lua configuration, LSP and tree-sitter built in.",
    "answer": "Neovim is a fork of Vim that keeps Vim's modal editing and its key bindings, then rebuilds everything around them. Configuration is written in Lua rather than Vimscript, the editor embeds a Language Server Protocol client so completion and diagnostics work without plugins, tree-sitter is built in for syntax highlighting, and there is a terminal emulator and an API that other programs can drive. The result is a terminal editor that behaves like a modern IDE once configured, at the cost of configuring it. It is free and open source under Apache-2.0, with parts under the Vim licence, and it ships as separate Apple Silicon and Intel builds for macOS 10.15 and later. The current release is 0.12.5.",
    "page": "https://www.nuanyue.com/software/neovim/",
    "dataUrl": "https://www.nuanyue.com/data/software/neovim.json",
    "categories": [
      "productivity"
    ],
    "tags": [],
    "platform": [
      "macOS"
    ],
    "minOsVersion": "macOS 10.15",
    "architecture": [
      "arm64",
      "x86_64"
    ],
    "featured": false,
    "pricing": "open-source",
    "pricingDescription": "Free and open source. There is no paid tier, no account and no telemetry; development is funded through donations and sponsorships.",
    "license": "Apache-2.0, with parts under the Vim license",
    "currentVersion": "0.12.5",
    "releaseDate": "2026-08-23",
    "openSource": true,
    "website": "https://neovim.io",
    "documentation": "https://neovim.io/doc/",
    "github": "https://github.com/neovim/neovim",
    "download": "https://github.com/neovim/neovim/releases/download/v0.12.5/nvim-macos-arm64.tar.gz",
    "developer": {
      "name": "Neovim contributors",
      "website": "https://neovim.io"
    },
    "features": [
      "Keeps Vim's modal editing, key bindings, macros and registers, so existing Vim habits carry over",
      "Configuration in Lua instead of Vimscript, with the whole editor exposed through a Lua API",
      "A built-in Language Server Protocol client, so completion, diagnostics and refactoring work without a separate plugin manager setup",
      "tree-sitter integration for syntax highlighting and structural text objects",
      "A built-in terminal emulator, so a shell runs inside the editor",
      "Asynchronous plugin architecture, which keeps the interface responsive while plugins work",
      "An RPC API that lets other programs and GUIs drive the editor, which is how the various Neovim front ends work",
      "A default configuration that works out of the box before you write a single line of Lua",
      "Support for the XDG base directory layout, keeping configuration and data out of the home directory root"
    ],
    "useCases": [
      "Editing code in a terminal, over SSH or inside a tmux session",
      "Keeping a Vim workflow while gaining LSP completion and diagnostics",
      "Writing configuration in Lua rather than Vimscript",
      "Building a custom editor setup that is reproducible from a dotfiles repository",
      "Driving the editor from another program through its RPC API"
    ],
    "formats": [],
    "integrations": [],
    "pros": [
      {
        "text": "Free and open source, with no paid tier, account or telemetry.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "text": "Language Server Protocol support and tree-sitter are built in rather than bolted on, so completion and diagnostics need no extra plugin layer.",
        "status": "developer-stated",
        "source": "repository",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "text": "Configuration is Lua, and the entire editor is exposed through a Lua API.",
        "status": "developer-stated",
        "source": "repository",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "text": "Publishes separate Apple Silicon and Intel macOS builds, so neither kind of Mac runs the editor under translation.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "text": "Keeps Vim's key bindings and modal model, so an existing Vim workflow transfers without relearning.",
        "status": "editorially-reviewed",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      }
    ],
    "cons": [
      {
        "text": "Productivity depends on configuration; the editor is minimal until you write or adopt a config.",
        "status": "editorially-reviewed",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "text": "The macOS builds are not notarized, so the archive needs `xattr -c` before it will open without a warning.",
        "status": "developer-stated",
        "source": "repository",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "text": "No universal macOS build and no installer: you choose an architecture and extract a tarball onto your PATH.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "text": "Requires macOS 10.15 or later for the pre-built binaries.",
        "status": "developer-stated",
        "source": "repository",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      }
    ],
    "whoIsItFor": [
      "People already comfortable with Vim who want a maintained, extensible successor",
      "Developers who prefer to work in a terminal rather than a windowed IDE",
      "Anyone who wants an editor they can configure entirely as text and version in Git"
    ],
    "notFor": [
      "Anyone who wants an editor that is productive immediately — VS Code or Zed are the better starting point",
      "Users who do not want to maintain a configuration, since Neovim's strength is also its setup cost",
      "People on macOS 10.14 or earlier, as the pre-built binaries require macOS 10.15"
    ],
    "limitations": [
      "The pre-built macOS binaries require macOS 10.15 Catalina or later",
      "Apple Silicon and Intel Macs need different downloads; there is no single universal build",
      "The macOS tarballs are not notarized, so the release notes instruct you to run `xattr -c` on the archive to avoid an unknown developer warning",
      "There is no graphical installer or app bundle: the tarball extracts to a directory you add to your PATH",
      "Being productive depends on configuration, and a broken plugin update can break the editor until it is fixed",
      "Licensing is split: Apache-2.0 for most of the project, with parts contributed under the Vim licence"
    ],
    "firstUse": {
      "installation": {
        "value": "Install with `brew install neovim`, or download `nvim-macos-arm64.tar.gz` for Apple Silicon or `nvim-macos-x86_64.tar.gz` for Intel, run `xattr -c` on the archive, extract it and add the `bin` directory to your PATH.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      "firstLaunch": {
        "value": "Running `nvim` with no configuration opens a working editor with sensible defaults, including syntax highlighting. Your own configuration belongs in ~/.config/nvim/init.lua.",
        "status": "developer-stated",
        "source": "repository",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      "systemIntegration": {
        "value": "Runs inside a terminal emulator rather than as a windowed app, so it has no dock icon or menu bar of its own. It reads the XDG base directories for configuration and data, and exposes an RPC API that other programs can use to drive it.",
        "status": "developer-stated",
        "source": "repository",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      "appleSilicon": {
        "value": true,
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      }
    },
    "updates": [
      {
        "version": "0.12.5",
        "date": "2026-08-23",
        "summary": "Current stable release, built with LuaJIT and published as separate Apple Silicon and Intel macOS tarballs.",
        "status": "verified",
        "source": "repository"
      },
      {
        "version": "0.12.4",
        "date": "2026-07-05",
        "summary": "Maintenance release on the 0.12 line, published six weeks before 0.12.5.",
        "status": "verified",
        "source": "repository"
      },
      {
        "version": "0.12.3",
        "date": "2026-06-10",
        "summary": "Point release continuing the 0.12 series, which has been the stable line through 2026.",
        "status": "verified",
        "source": "repository"
      }
    ],
    "faq": [
      {
        "question": "Is Neovim free?",
        "answer": "Yes. It is free and open source, with no paid tier, account or telemetry. Development is funded through donations and sponsorships.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "question": "What is the difference between Neovim and Vim?",
        "answer": "Neovim keeps Vim's modal editing and key bindings but rebuilds the internals: configuration is Lua rather than Vimscript, a Language Server Protocol client and tree-sitter are built in, there is an embedded terminal, and an RPC API lets other programs drive the editor.",
        "status": "editorially-reviewed",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "question": "Which macOS version does Neovim need?",
        "answer": "The pre-built binaries require macOS 10.15 Catalina or later, according to the project's install documentation.",
        "status": "developer-stated",
        "source": "repository",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "question": "Does Neovim run natively on Apple Silicon?",
        "answer": "Yes. Releases include a separate `nvim-macos-arm64.tar.gz` for Apple Silicon alongside `nvim-macos-x86_64.tar.gz` for Intel Macs. There is no universal build.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "question": "Why does macOS warn that the developer cannot be verified?",
        "answer": "Because the macOS builds are not notarized. The release notes instruct you to run `xattr -c ./nvim-macos-arm64.tar.gz` on the downloaded archive before extracting it.",
        "status": "developer-stated",
        "source": "repository",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "question": "What licence is Neovim under?",
        "answer": "Apache-2.0 for most of the project, with parts contributed under the Vim licence. The LICENSE file states both.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      }
    ],
    "relationships": [
      {
        "target": "vim",
        "type": "alternative",
        "reason": "Neovim is a fork of Vim that keeps the modal editing model and key bindings while replacing the internals with Lua, LSP and tree-sitter.",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "target": "visual-studio-code",
        "type": "similar",
        "reason": "Both are free code editors with extension ecosystems, at opposite ends of the GUI-versus-terminal spectrum.",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "target": "helix",
        "type": "competitor",
        "reason": "Both are modern modal editors for the terminal, but Helix uses selection-first key bindings and its own configuration while Neovim keeps Vim's model and Lua.",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "target": "iterm2",
        "type": "complements",
        "reason": "Neovim runs inside a terminal emulator, so a terminal such as iTerm2 supplies the window, tabs and scrollback the editor itself does not have.",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      }
    ],
    "sources": [
      {
        "id": "neovim:official",
        "type": "official_website",
        "url": "https://neovim.io",
        "title": "Neovim — official website",
        "trustLevel": "B",
        "accessedAt": null
      },
      {
        "id": "neovim:developer",
        "type": "developer",
        "url": "https://neovim.io",
        "title": "Neovim contributors — developer website",
        "trustLevel": "B",
        "accessedAt": null
      },
      {
        "id": "neovim:documentation",
        "type": "documentation",
        "url": "https://neovim.io/doc/",
        "title": "Neovim — documentation",
        "trustLevel": "C",
        "accessedAt": null
      },
      {
        "id": "neovim:repository",
        "type": "github",
        "url": "https://github.com/neovim/neovim",
        "title": "Neovim — source repository",
        "trustLevel": "D",
        "accessedAt": null
      }
    ],
    "claims": [
      {
        "id": "software:neovim.isA",
        "subject": "software:neovim",
        "predicate": "isA",
        "value": "code editor",
        "status": "editorially-reviewed",
        "sourceIds": [
          "neovim:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:neovim.supportsPlatform",
        "subject": "software:neovim",
        "predicate": "supportsPlatform",
        "value": [
          "macOS"
        ],
        "status": "verified",
        "sourceIds": [
          "neovim:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:neovim.officialWebsite",
        "subject": "software:neovim",
        "predicate": "officialWebsite",
        "value": "https://neovim.io",
        "status": "verified",
        "sourceIds": [
          "neovim:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:neovim.listedInCategory",
        "subject": "software:neovim",
        "predicate": "listedInCategory",
        "value": [
          "productivity"
        ],
        "status": "editorially-reviewed",
        "sourceIds": [
          "neovim:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:neovim.pricingModel",
        "subject": "software:neovim",
        "predicate": "pricingModel",
        "value": "Open source",
        "status": "developer-stated",
        "sourceIds": [
          "neovim:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:neovim.developedBy",
        "subject": "software:neovim",
        "predicate": "developedBy",
        "value": "Neovim contributors",
        "status": "developer-stated",
        "sourceIds": [
          "neovim:developer",
          "neovim:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:neovim.ownership",
        "subject": "software:neovim",
        "predicate": "ownership",
        "value": "Third-party product — not published by Nuanyue",
        "status": "editorially-reviewed",
        "sourceIds": [],
        "lastVerified": null
      },
      {
        "id": "software:neovim.isOpenSource",
        "subject": "software:neovim",
        "predicate": "isOpenSource",
        "value": true,
        "status": "verified",
        "sourceIds": [
          "neovim:repository",
          "neovim:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:neovim.licensedUnder",
        "subject": "software:neovim",
        "predicate": "licensedUnder",
        "value": "Apache-2.0, with parts under the Vim license",
        "status": "verified",
        "sourceIds": [
          "neovim:repository",
          "neovim:documentation",
          "neovim:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:neovim.currentVersion",
        "subject": "software:neovim",
        "predicate": "currentVersion",
        "value": "0.12.5",
        "status": "developer-stated",
        "sourceIds": [
          "neovim:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:neovim.hasFeature",
        "subject": "software:neovim",
        "predicate": "hasFeature",
        "value": [
          "Keeps Vim's modal editing, key bindings, macros and registers, so existing Vim habits carry over",
          "Configuration in Lua instead of Vimscript, with the whole editor exposed through a Lua API",
          "A built-in Language Server Protocol client, so completion, diagnostics and refactoring work without a separate plugin manager setup",
          "tree-sitter integration for syntax highlighting and structural text objects",
          "A built-in terminal emulator, so a shell runs inside the editor",
          "Asynchronous plugin architecture, which keeps the interface responsive while plugins work",
          "An RPC API that lets other programs and GUIs drive the editor, which is how the various Neovim front ends work",
          "A default configuration that works out of the box before you write a single line of Lua",
          "Support for the XDG base directory layout, keeping configuration and data out of the home directory root"
        ],
        "status": "editorially-reviewed",
        "sourceIds": [
          "neovim:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:neovim.usedFor",
        "subject": "software:neovim",
        "predicate": "usedFor",
        "value": [
          "Editing code in a terminal, over SSH or inside a tmux session",
          "Keeping a Vim workflow while gaining LSP completion and diagnostics",
          "Writing configuration in Lua rather than Vimscript",
          "Building a custom editor setup that is reproducible from a dotfiles repository",
          "Driving the editor from another program through its RPC API"
        ],
        "status": "editorially-reviewed",
        "sourceIds": [
          "neovim:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:neovim.audienceFor",
        "subject": "software:neovim",
        "predicate": "audienceFor",
        "value": [
          "People already comfortable with Vim who want a maintained, extensible successor",
          "Developers who prefer to work in a terminal rather than a windowed IDE",
          "Anyone who wants an editor they can configure entirely as text and version in Git"
        ],
        "status": "editorially-reviewed",
        "sourceIds": [
          "neovim:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:neovim.audienceNotFor",
        "subject": "software:neovim",
        "predicate": "audienceNotFor",
        "value": [
          "Anyone who wants an editor that is productive immediately — VS Code or Zed are the better starting point",
          "Users who do not want to maintain a configuration, since Neovim's strength is also its setup cost",
          "People on macOS 10.14 or earlier, as the pre-built binaries require macOS 10.15"
        ],
        "status": "editorially-reviewed",
        "sourceIds": [
          "neovim:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:neovim.limitation",
        "subject": "software:neovim",
        "predicate": "limitation",
        "value": [
          "The pre-built macOS binaries require macOS 10.15 Catalina or later",
          "Apple Silicon and Intel Macs need different downloads; there is no single universal build",
          "The macOS tarballs are not notarized, so the release notes instruct you to run `xattr -c` on the archive to avoid an unknown developer warning",
          "There is no graphical installer or app bundle: the tarball extracts to a directory you add to your PATH",
          "Being productive depends on configuration, and a broken plugin update can break the editor until it is fixed",
          "Licensing is split: Apache-2.0 for most of the project, with parts contributed under the Vim licence"
        ],
        "status": "editorially-reviewed",
        "sourceIds": [],
        "lastVerified": null
      },
      {
        "id": "software:neovim.advantage.0",
        "subject": "software:neovim",
        "predicate": "advantage",
        "value": "Free and open source, with no paid tier, account or telemetry.",
        "status": "verified",
        "sourceIds": [
          "neovim:repository"
        ],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:neovim.advantage.1",
        "subject": "software:neovim",
        "predicate": "advantage",
        "value": "Language Server Protocol support and tree-sitter are built in rather than bolted on, so completion and diagnostics need no extra plugin layer.",
        "status": "developer-stated",
        "sourceIds": [
          "neovim:repository"
        ],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:neovim.advantage.2",
        "subject": "software:neovim",
        "predicate": "advantage",
        "value": "Configuration is Lua, and the entire editor is exposed through a Lua API.",
        "status": "developer-stated",
        "sourceIds": [
          "neovim:repository"
        ],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:neovim.advantage.3",
        "subject": "software:neovim",
        "predicate": "advantage",
        "value": "Publishes separate Apple Silicon and Intel macOS builds, so neither kind of Mac runs the editor under translation.",
        "status": "verified",
        "sourceIds": [
          "neovim:repository"
        ],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:neovim.advantage.4",
        "subject": "software:neovim",
        "predicate": "advantage",
        "value": "Keeps Vim's key bindings and modal model, so an existing Vim workflow transfers without relearning.",
        "status": "editorially-reviewed",
        "sourceIds": [],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:neovim.drawback.0",
        "subject": "software:neovim",
        "predicate": "drawback",
        "value": "Productivity depends on configuration; the editor is minimal until you write or adopt a config.",
        "status": "editorially-reviewed",
        "sourceIds": [],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:neovim.drawback.1",
        "subject": "software:neovim",
        "predicate": "drawback",
        "value": "The macOS builds are not notarized, so the archive needs `xattr -c` before it will open without a warning.",
        "status": "developer-stated",
        "sourceIds": [
          "neovim:repository"
        ],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:neovim.drawback.2",
        "subject": "software:neovim",
        "predicate": "drawback",
        "value": "No universal macOS build and no installer: you choose an architecture and extract a tarball onto your PATH.",
        "status": "verified",
        "sourceIds": [
          "neovim:repository"
        ],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:neovim.drawback.3",
        "subject": "software:neovim",
        "predicate": "drawback",
        "value": "Requires macOS 10.15 or later for the pre-built binaries.",
        "status": "developer-stated",
        "sourceIds": [
          "neovim:repository"
        ],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:neovim.supportsAppleSilicon",
        "subject": "software:neovim",
        "predicate": "supportsAppleSilicon",
        "value": true,
        "status": "verified",
        "sourceIds": [
          "neovim:repository"
        ],
        "lastVerified": "2026-10-05"
      }
    ],
    "lastUpdated": "2026-10-05T00:00:00.000Z",
    "lastReviewedAt": null
  }
}