Neovim 配置折腾记录

用了好几年 Vim,去年开始切到 Neovim,体验好了不少。把配置思路记下来,省得下次重装又要从头找。 为什么换 Neovim 原生 Lua 配置,比 Vimscript 好写好读 内置 LSP 支持,不需要装 coc.nvim 之类的大插件 异步渲染,不卡 社区活跃,插件生态比 Vim 好很多 配置目录结构 Neovim 的配置放在 ~/.config/nvim/,我用的结构: ~/.config/nvim/ ├── init.lua # 入口文件 └── lua/ ├── core/ │ ├── options.lua # 基础选项 │ ├── keymaps.lua # 快捷键 │ └── autocmds.lua # 自动命令 └── plugins/ ├── init.lua # 插件列表(lazy.nvim) ├── lsp.lua # LSP 配置 ├── treesitter.lua # 语法高亮 └── ... 包管理器:lazy.nvim 目前最好用的 Neovim 插件管理器,支持懒加载,启动速度快。 init.lua 里引导安装: local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" if not vim.loop.fs_stat(lazypath) then vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath, }) end vim.opt.rtp:prepend(lazypath) require("lazy").setup("plugins") 基础选项 -- lua/core/options.lua local opt = vim.opt opt.number = true -- 显示行号 opt.relativenumber = true -- 相对行号 opt.tabstop = 4 opt.shiftwidth = 4 opt.expandtab = true opt.smartindent = true opt.wrap = false -- 不折行 opt.cursorline = true -- 高亮当前行 opt.termguicolors = true -- 真彩色 opt.signcolumn = "yes" -- 始终显示符号列,避免跳动 opt.scrolloff = 8 -- 光标距顶/底保持 8 行 opt.clipboard = "unnamedplus" -- 与系统剪贴板共享 常用插件 插件 用途 nvim-treesitter 语法高亮和代码结构解析 nvim-lspconfig LSP 配置框架 nvim-cmp 自动补全 telescope.nvim 模糊搜索文件/内容 neo-tree.nvim 文件树 gitsigns.nvim Git 行内标记 lualine.nvim 状态栏 tokyonight.nvim 配色方案 LSP 配置 先装语言服务器,以 Python 为例: ...

December 20, 2025 · 2 min · waawo