# Neovim — Hyperextensible Vim-Based Text Editor > Neovim is a Vim-fork focused on extensibility and usability. First-class Lua scripting, native LSP client, Tree-sitter for incremental parsing, async job control, and floating windows. The modern heir to Vim loved by developers worldwide. ## Install Save in your project root: ## Quick Use ```bash # Install brew install neovim # macOS sudo apt install neovim # Debian/Ubuntu winget install Neovim.Neovim # Windows # Launch nvim file.txt ``` Init config `~/.config/nvim/init.lua`: ```lua vim.opt.number = true vim.opt.relativenumber = true vim.opt.tabstop = 2 vim.opt.shiftwidth = 2 vim.opt.expandtab = true vim.opt.termguicolors = true -- Plugin manager (lazy.nvim) vim.cmd([[packadd lazy.nvim]]) require("lazy").setup({ { "nvim-treesitter/nvim-treesitter", build = ":TSUpdate" }, { "neovim/nvim-lspconfig" }, { "hrsh7th/nvim-cmp" }, { "folke/tokyonight.nvim" }, }) vim.cmd.colorscheme("tokyonight") ``` ## Intro Neovim is a Vim-fork started in 2014 by Thiago de Arruda focused on extensibility, usability, and maintainability. Rewrote key internals, added first-class Lua scripting, native LSP client, Tree-sitter parser, and a remote plugin API. Still maintains backwards compatibility with Vim. - **Repo**: https://github.com/neovim/neovim - **Stars**: 98K+ - **Language**: C + Vim script + Lua - **License**: Apache 2.0 + Vim license ## What Neovim Does - **Modal editing** — Normal, Insert, Visual, Command modes - **Lua scripting** — full Lua API instead of Vimscript-only - **Built-in LSP** — IDE-grade language features - **Tree-sitter** — incremental syntax parsing, better highlighting - **Async jobs** — run commands without blocking - **Terminal emulator** — `:terminal` inside Neovim - **Floating windows** — for menus, diagnostics, pickers - **Plugin ecosystem** — via lazy.nvim, packer, vim-plug ## Architecture Fork of Vim with a cleaner codebase, MsgPack RPC for remote plugins, libuv for async, and Lua built in (5.1 via LuaJIT). The editor loop processes events and renders via redraw API. External TUIs and IDE integrations use the RPC layer. ## Self-Hosting CLI tool, self-contained binary. ## Key Features - First-class Lua - Native LSP client - Tree-sitter integration - Floating windows - Async job control - Modern plugin managers (lazy.nvim) - Popular distros: LazyVim, NvChad, AstroNvim, Kickstart.nvim - Cross-platform ## Comparison | Editor | Modal | LSP | Speed | Ecosystem | |---|---|---|---|---| | Neovim | Yes (Vim) | Built-in | Fast | Huge | | Vim | Yes | Plugin | Fast | Large | | Helix | Yes (Kakoune) | Built-in | Fast | Growing | | Emacs | No | lsp-mode | Slow | Huge | | VS Code | No | Built-in | Slow (Electron) | Huge | ## 常见问题 FAQ **Q: 零配置起步?** A: 用 LazyVim 或 Kickstart.nvim 模板 clone 下来就能用。包含 LSP、补全、搜索、文件树。 **Q: Lua vs Vimscript?** A: 新项目强烈推荐 Lua:类型、调试、性能都优于 Vimscript。老插件可以保留 Vimscript 不必重写。 **Q: 和 VS Code 比?** A: VS Code 新手友好、生态完备、速度较慢。Neovim 启动毫秒级、可编辑上下文中的任何代码、但需要配置时间。 ## 来源与致谢 Sources - Docs: https://neovim.io/doc - GitHub: https://github.com/neovim/neovim - License: Apache 2.0 + Vim license --- Source: https://tokrepo.com/en/workflows/6ed06dab-35cb-11f1-9bc6-00163e2b0d79 Author: AI Open Source