nvimdots

ayamirBSD-3-Clause活跃维护

一套结构清晰、开箱即用的 Neovim 配置,基于 Lua 编写,省去从零折腾 vimrc 的时间,适合想直接获得 IDE 级编辑体验的开发者。

A well configured and structured Neovim.

v4.3.0发布于 2026-06-28 04:13 UTC3,415star479fork同步于 2026-11-10 11:40 UTC

怎么上手

由 README 提炼,执行前请确认
bash -c "$(curl -fsSL https://raw.githubusercontent.com/ayamir/nvimdots/HEAD/scripts/install.sh)"
硬件要求按 README 说明

README 未说明硬件要求;启动耗时数据基于 SSD 与 CPU 环境测得(Zephyrus G14 2022)

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

一套开箱即用、模块化的 Neovim 配置,帮你省去从零搭建 Lua 开发环境的麻烦

一套结构清晰、开箱即用的 Neovim 配置,基于 Lua 编写,省去从零折腾 vimrc 的时间,适合想直接获得 IDE 级编辑体验的开发者。

核心能力

  • 纯 Lua 编写配置,模块化结构便于按需定制
  • 用 lazy.nvim 管理插件依赖
  • 启动时间实测低于 50ms
  • 内置 Telescope 搜索、DAP 调试与 Lazygit 终端
  • 提供交互式引导脚本一键安装

容易踩的坑

需按 Neovim 版本选分支,main 对应 nvim 0.12 stable,0.13 分支仅适配 nightly 且不稳定;Windows 安装脚本要求 pwsh 版本高于 v7.1;安装前建议先读 Wiki 的 Prerequisites 页面确认依赖

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v4.3.0
  1. v4.3.0最新正式版2026-06-28 · 2026-06-28 04:13 UTC

    Summary

    This release is mainly for Neovim 0.12 stable support, completion and LSP migration, and several compatibility fixes for newer upstream APIs.

    New features

    • Neovim 0.12 is now the stable target of main, while 0.13 is kept for nightly builds.
    • blink.cmp replaces nvim-cmp as the main completion engine, with cmdline completion, ripgrep-backed completion, colorful menu rendering, Lua development support, and optional Copilot or OpenAI-compatible edit prediction.
    • Shared AI adapter settings are introduced for CodeCompanion and completion prediction, with OpenRouter, OpenCode and OpenAI-compatible configuration entries.
    • Python LSP support is updated: pylsp was replaced by zuban/pyrefly and ruff.
    • nvim-treesitter and nvim-treesitter-textobjects are migrated to the new main-branch setup.
    • New treesitter textobject keymaps are added for selecting, swapping, and moving between functions/classes/parameters.

    Other changes

    • mason.nvim and related integrations are migrated to the newer v2 APIs.
    • glance.nvim is removed; LSP references/implementations now use the configured Telescope or fzf-lua picker path.
    • project.nvim configuration is updated for the current fork and setup API.
    • clang-format and ruff now prefer project-local configuration.
    • LSP setup is moved further toward native Neovim APIs and away from deprecated lspconfig legacy setup.
    • CodeCompanion is updated for newer APIs and model settings.
    • Install scripts now clone main for the current stable branch.

    Bug fixes

    • Fixed LSP startup and removed manual LspStart.
    • Fixed project LSP detection and temporarily disabled broken project.nvim LSP attach mode where needed.
    • Fixed fzf-related window behavior.
    • Fixed last-edit autojump event.
    • Fixed nil checks in edgy.nvim, rainbow_delims, and several utility paths.
    • Fixed treesitter parser loading/highlight behavior after upstream changes.
    • Fixed DAP API usage and added a keymap to close dap-ui.
    • Disabled swapfile by default.

    Keymap changes

    • <leader>dC is added to close dap-ui.
    • gd now uses Lspsaga peek_definition.
    • gh, gm, gto, and command panel/search flows now route through the configured picker backend.
    • <leader>lv now toggles virtual lines through tiny-inline-diagnostic.
    • Treesitter textobject keymaps are added for af, if, ac, ic, ][, ]m, ]], ]M, [[, [m, [], [M, <leader>a, <leader>A, and ;.

    Thanks

    Thanks to all maintainers and contributors who keep nvimdots moving forward, including @ayamir, @Jint-lzxy, @charliie-dev, @misumisumi, @AngelontheRoad, @Cloud, @wenqian, @GuennadiMaximovC, and everyone who helped with reviews, fixes, reports, discussions, and maintenance work.

    What's Changed

  2. v4.2.02025-06-05 · 2025-06-05 12:39 UTC
    查看更新说明

    Summary

    This release is mainly for some siginificant features and enhancement, including AI chat and find with fzf to speed up.

    New features

    • We introduced the AI chat functionality with codecompanion.nvim and openrouter, details about how to use it can be found in lua/core/settings.lua.
    • We supported using fzf-lua to search files, patterns and symbols to speed up for huge repo. Of course, telescope is enough for most cases, so we make the default search backend as telescope.
    • We redesigned the editor ui layout. Specifically, filetree and symbols outline are both on the left side now. AI chat sidebar will be shown on the right side.

    Other changes

    • Lsp progress will be shown in the lualine to avoid potenial occlusion of fidget.
    • Native lsp api is used to configure lsp servers (instead of rely on mason).
    • Stop clone submodule of rainbow-delimiters.nvim to avoid installation failed.

    Keymap changes

    • <leader>fr and <leader>fR are used to resume last search of telescope and fzf-lua respectively to save time.
    • <leader>cs, <leader>ck, <leader>cc and <leader>ca are added for codecompanion related functions. image

    What's Changed

    Full Changelog: https://github.com/ayamir/nvimdots/compare/v4.1.0...v4.2.0

  3. v4.1.02025-04-20 · 2025-04-20 14:58 UTC
    查看更新说明

    Summary

    This release is for Neovim 0.11 stable with some bugs fixes and new features. Besides, we make 0.11 as the default branch which will make migration for newest neovim explicitly. Here are a few notable ones:

    Bug fixes

    • The completion entries from nvim-lsp are deduplicated.
    • The fmt function from clang_format is disabled for java files.
    • neodim is removed due to bugs sometimes occured.
    • Check vim.g:colors_name before gen highlight groups in case of bugs when using other colorschemes.
    • Merge user customized config with predefined by default.
    • Avoid bufferline not load when open files by nvim-tree and telescope.
    • Make selected region search in visual mode works.
    • Make user config can be searched in telescope.
    • Check nil in on_stderr callback for pylsp plugins install process.
    • Fix incorrect background color for lualine when changing colorscheme dynamically.

    New features

    • render-markdown.nvim is introduced for better native markdown rendering support, which also takes effect for lsp hover doc.
    • edgy.nvim is introduced to manger ui layout.
    • tiny-inline-diagnostics.nvim is introduced for better display for lsp diagnostics messages and the setting entry for diagnostics_virtual_text is removed.
    • nvim-spectre is replaced by grug-far.nvim for better user experience.
    • local-highlight.nvim is replaced by mini.cursorword for more simplicity function.
    • bigfiles.nvim is replaced by faster.nvim for faster big file open speed.
    • <leader>lh is set to toggle lsp inlay hints.
    • <leader>lv is set to toggle lsp diagnostics messages.
    • <A-f> is set to toggle format on save function.
    • Support virtual_lines for diagnostics display by entry called diagnostics_virtual_lines in settings.lua.
    • Support user customized snippets.
    • Support omnifunc fuzzy matching introduced from neovim 0.11.

    Other changes

    • The install scripts no longer support Neovim 0.8, and that branch is no longer maintained. The 0.9 branch is also deprecated.

    What's Changed

  4. v4.0.02024-07-01 · 2024-07-01 04:57 UTC
    查看更新说明

    SUMMARY

    This release is not backwards-compatible since Neovim 0.10 has been officially released. While many changes have occurred since the last release, here are a few notable ones:

    • The license has officially been changed to the BSD 3-Clause License. It allows you almost unlimited freedom with the software so long as you include the BSD copyright and license notice in it.
    • The install scripts no longer support Neovim 0.7, and that branch is no longer maintained. The 0.8 branch is also deprecated.
    • The LSP inlay hints feature has been implemented and is enabled by default. Disable it in your user settings by specifying settings["lsp_inlayhints"] = false.
    • The wiki pages and dotstutor have been significantly updated. Check them out!
    • NixOS support has been extensively refactored. Refer to the wiki page and relevant PRs for details.
    • Performance restrictions for Treesitter have been relaxed, as incremental parsing is now supported in 0.10. Please kindly report any performance issues encountered, as testing has been limited to a few devices.
    • The built-in completion engine has updated its completion parameters. See #1279 for details.
    • cmp-buffer will now provide completion results from the texts in all opened buffers.
    • Go development experience has been greatly improved. See #1226 for details.
    • Horizontal terminals will no longer obscure nvim-tree.
    • <C-e> for open-in-place inside nvim-tree has been disabled.
    • nvim-cmp will no longer pre-select any items, and the selected candidate won't be completed by default until you've accepted it (e.g., by pressing <CR>).
    • trouble.nvim v3 is supported.
    • The icon library has been overhauled to support dropbar.nvim.
    • indent-blankline.nvim now provides support on a per-language basis. See #1283 for details.
    • LuaSnip now supports ECMAScript Regexes. Check the wiki for details.
    • Format timeout is now configurable using settings["format_timeout"].
    • advanced-git-search.nvim and search.nvim have been introduced, while nvim-colorizer.lua has been replaced by nvim-highlight-colors. Check out :Tutor dots for introductory tutorials on them!

    [!CAUTION]
    The keymaps for Telescope have been changed. See https://github.com/ayamir/nvimdots/pull/1303#issuecomment-2181965329 for the rationale behind this.

    Check out the "What's Changed" section and the tracking issue for minor updates.

    What's Changed

  5. v3.6.02024-03-22 · 2024-03-22 16:44 UTC
    查看更新说明

    SUMMARY

    This is a backward-incompatible release. We've fixed some known issues, improved workflow, and refactored our plugins including removing, replacing, and introducing new plugins to make nvimdots stronger. Of course, you can add the removed plugins back freely for your own config if you depend on them.

    • Plugins Modifications
      • Removed (infrequently used, or overkilled, or long-time-no-updates)
        • rainbowhxch/accelerated-jk.nvim
        • max397574/better-escape.nvim
        • sindrets/diffview.nvim
        • abecodes/tabout.nvim
        • edluffy/specs.nvim
      • Replaced (more powerful, or higher performance)
        • junegunn/vim-easy-align to echasnovski/mini.align
        • RRethy/vim-illuminate to tzachar/local-highlight.nvim
        • gelguy/wilder.nvim to hrsh7th/cmp-cmdline
      • Added (more intuitive, or more extensive)
        • folke/neoconf.nvim for pre project custom lsp configuration
        • tpope/vim-sleuth for smart tab size
        • nvim-pack/nvim-spectre for project-level plain text search and replace
        • mrjones2014/smart-splits.nvim for smart window split and resize working with terminal multiplexers (kitty, wezterm, and tmux)
        • folke/todo-comments.nvim for highlight of TODO, NOTE, etc
        • nvim-neotest/nvim-nio for dependency of nvim-dap-ui
    • Keymaps Modifications
      • n|<A-j> and n|<A-k> are mapped to resize window vertically.
      • n|<A-h> and n|<A-l> are mapped to resize window horizontally.
      • n|<A-i> and n|<A-o> are mapped to switch opened buffers/tabs.
      • n|<A-S-i> and n|<A-S-o> are mapped to move opened buffers/tabs.
      • n|<leader>Ss, n|<leader>Sp, v|<leader>Sp and n|<leader>Sf are mapped to project-level text search and replace, you can use <C-p> to check the detailed descriptions.
      • n|<leader>Wh, n|<leader>Wj, n|<leader>Wk and n|<leader>Wl are mapped to move splitted windows.
      • n|<leader>ld to n|<leader>lx for lsp: Line diagnostic.
      • n|<leader>ci to n|gci for lsp: Show incoming calls.
      • n|<leader>co to n|gco for lsp: Show outcoming calls.
      • n|<leader>cc to n|<leader>C for jump: Goto two chars.
      • n|<leader>G to n|<leader>gG for git: Open git-fugitive.
      • n|<leader>g to n|<leader>gg for git: Open lazygit.
      • n|<leader>tr to n|<leader>ll for lsp: Show lsp references.
      • n|<leader>td to n|<leader>ld for lsp: Show document diagnostics.
      • n|<leader>tw to n|<leader>lw for lsp: Show workspace diagnostics.
      • n|<leader>tq to n|<leader>lq for lsp: Show quickfix list.
      • n|<leader>tl to n|<leader>lL for lsp: Show loclist.
      • n|<leader>fn to n|<leader>bn for buffer: New.
      • All of gitsigns.nvim related mappings which begin with <leader>h are changed to begin with <leader>g.
      • n|<leader>gd, n|<leader>gD, n|<A-[>, n|<A-]>, n|<A-;>, n|<A-'>, n|gea, n|<A-S-j>, n|<A-S-k>, i|<A-l> and i|<A-h> are unmapped, they are free now!
    • You can set the dashboard_image easily in lua/user/settings.lua and check the details in wiki.
    • You can search selected content using v|<leader>fs in telescope.
    • You can see icon and description text for different keymap prefix groups (git, fuzzy find, debug, etc).
    • All opened buffers share the same lualine which makes ui more concise and clearer.
    • The install scripts are supporting 0.10 branch now.
    • debugpy works on windows properly now.

    Thanks for @Jint-lzxy, @CharlesChiuGit, @aarnphm, @ClSlaid, @Cyberczy, @csyJoy, @Cheny-chui for repo maintenance and enhancement! Thanks for users who made feedback and joined our discussions! Have a look at the "What's Changed" section for minor fixes.

    What's Changed

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    🪷 Introduction

    This repo hosts our Neovim configuration for Linux (with NixOS support), macOS, and Windows. init.lua is the config entry point.

    Branch info:

    BranchSupported Neovim version
    0.13nvim 0.13 nightly
    mainnvim 0.12 stable
    0.11nvim 0.11
    0.10nvim 0.10

    [!IMPORTANT] The 0.13 branch is intended for nightly Neovim builds and is not stable. It typically harbors subtle issues scattered throughout. Therefore, refrain from submitting issues if you happen to encounter them. They will be closed directly unless a viable solution is proposed or included.

    We currently manage plugins using lazy.nvim.

    Chinese introduction is here.

    🎐 Features

    • Fast. Less than 50ms to start (Depends on SSD and CPU, tested on Zephyrus G14 2022 version).
    • Simple. Runs out of the box.
    • Modern. Pure lua config.
    • Modular. Easy to customize.
    • Powerful. Full functionality to code.

    🏗 How to Install

    Simply run the following interactive bootstrap command, and you should be all set 👍

    • Windows (Note: This script REQUIRES pwsh > v7.1)
    Set-ExecutionPolicy Bypass -Scope Process -Force; Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/ayamir/nvimdots/HEAD/scripts/install.ps1'))
    
    • *nix
    if command -v curl >/dev/null 2>&1; then
        bash -c "$(curl -fsSL https://raw.githubusercontent.com/ayamir/nvimdots/HEAD/scripts/install.sh)"
    else
        bash -c "$(wget -O- https://raw.githubusercontent.com/ayamir/nvimdots/HEAD/scripts/install.sh)"
    fi
    

    It's strongly recommended to read Wiki: Prerequisites before starting, especially for *nix users.

    ⚙️ Configuration & Usage

    ✨ Features

    Tested with rhysd/vim-startuptime

    👐 Contributing

    • If you find anything that needs improving, do not hesitate to point it out or create a PR.
    • If you come across an issue, you can first use :checkhealth command provided by nvim to trouble-shoot yourself.
      • If you still have such problems, feel free to open a new issue!

    ❤️ Thanks to

    🎉 Acknowledgement

    📜 License

    This Neovim configuration is released under the BSD 3-Clause license, which grants the following permissions:

    • Commercial use
    • Distribution
    • Modification
    • Private use

    For more convoluted language, see the LICENSE.