现代化的 Neovim 配置,从 k-vim 迁移而来。使用 Lua 编写,基于 lazy.nvim 插件管理器。
| 文档 | 说明 | 适合人群 |
|---|---|---|
| GETTING_STARTED.md | 🎯 从这里开始! 新手入门指南 | 所有人 |
| DEMO.md | 5分钟演示教程,跟随操作学习 | 新手 |
| CHEATSHEET.md | 快捷键速查表,打印备查 | 所有人 |
| QUICKSTART.md | 快速入门,了解核心功能 | 有经验用户 |
| CLAUDE_AI.md | 🤖 Claude AI 集成指南 | AI 用户 |
| INSTALL.md | 详细安装指南和故障排除 | 遇到问题时 |
| SCRIPTS.md | 脚本使用指南 | 维护管理 |
| PROJECT_STRUCTURE.md | 项目结构说明 | 定制配置 |
| CHANGELOG.md | 更新日志 | 了解变更 |
💡 建议: 如果是第一次使用,请先阅读 GETTING_STARTED.md! 🤖 新功能: 已集成 Claude AI,查看 CLAUDE_AI.md 了解使用方法!
- 🚀 使用 lazy.nvim 进行插件管理
- 🤖 集成 Claude AI - 在编辑器中直接使用 AI 助手
- 🎨 Nord、Solarized 和 Molokai 主题支持
- 📁 模块化配置结构,易于维护和定制
- ⚡ 快速启动和响应
- 💾 持久化撤销历史
- 🔍 强大的搜索和导航功能
- lualine.nvim - 美观的状态栏
- bufferline.nvim - 缓冲区标签栏
- indent-blankline.nvim - 缩进参考线
- rainbow-delimiters.nvim - 彩虹括号
- nvim-web-devicons - 文件图标
- neoscroll.nvim - 平滑滚动
- nvim-tree.lua - 文件浏览器
- telescope.nvim - 模糊查找器
- aerial.nvim - 代码大纲
- hop.nvim - 快速跳转
- Comment.nvim - 智能注释
- nvim-autopairs - 自动括号配对
- nvim-surround - 环绕字符操作
- vim-visual-multi - 多光标编辑
- vim-easy-align - 快速对齐
- undotree - 撤销历史可视化
- nvim-spectre - 搜索和替换
- which-key.nvim - 按键绑定提示
- nvim-lspconfig - LSP 配置
- mason.nvim - LSP/工具安装器
- nvim-cmp - 自动补全引擎
- LuaSnip - 代码片段引擎
- nvim-lint - 代码检查
- conform.nvim - 代码格式化
- nvim-treesitter - 语法高亮和代码理解
- nvim-treesitter-textobjects - 文本对象
- nvim-treesitter-context - 上下文显示
- gitsigns.nvim - Git 状态显示
- vim-fugitive - Git 命令集成
- git-conflict.nvim - 冲突解决
- diffview.nvim - Diff 查看器
- Python, JavaScript/TypeScript, Go, Rust
- HTML/CSS, JSON, YAML, Markdown
- Docker, Nginx, GraphQL, Terraform
- 更多语言...
适用于 macOS 和 Linux,会自动检查和安装所有依赖:
# 克隆仓库
git clone https://github.com/petrewoo/p-nvim.git
cd p-nvim
# 运行安装脚本
./install.sh安装脚本会自动:
- ✅ 检查并安装 Neovim (>= 0.9.0)
- ✅ 检查并安装依赖工具 (git, ripgrep, fd, node)
- ✅ 备份现有配置
- ✅ 安装 Nerd Font(可选)
- ✅ 复制配置文件
- ✅ 首次启动并安装所有插件
如果你已经安装了 Neovim >= 0.9.0:
# 克隆仓库
git clone https://github.com/petrewoo/p-nvim.git
cd p-nvim
# 快速安装
./quick-install.sh- 备份现有配置(如果有):
mv ~/.config/nvim ~/.config/nvim.bak- 克隆此配置:
git clone https://github.com/petrewoo/p-nvim.git
cp -r p-nvim/nvim ~/.config/- 启动 Neovim(首次启动会自动安装插件):
nvim- 安装 LSP 服务器:
:Mason在 Mason 界面中选择需要的语言服务器(按 i 安装)。
必需:
- Neovim >= 0.9.0
- Git >= 2.19.0
推荐:
- Nerd Font (推荐: Hack Nerd Font) - 用于显示图标
- ripgrep - 用于快速搜索
- fd - 用于快速查找文件
- Node.js - 用于某些 LSP 服务器
- Python 3 + pip - 用于 Python 支持
nvim/
├── init.lua # 主配置文件
└── lua/
├── core.lua # 核心设置
├── keymaps.lua # 按键映射
└── plugins/ # 插件配置
├── init.lua # 插件入口
├── ui.lua # UI 相关插件
├── editor.lua # 编辑器增强
├── lsp.lua # LSP 和补全
├── treesitter.lua # Treesitter 配置
├── git.lua # Git 集成
├── languages.lua # 语言特定插件
└── misc.lua # 其他插件
- Leader 键:
空格键 (Space)
F2- 切换行号F3- 切换可见字符F4- 切换自动换行F5- 切换粘贴模式F6- 切换语法高亮
<C-h/j/k/l>- 在窗口间移动<C-Up/Down/Left/Right>- 调整窗口大小
;- 命令模式 (替代:)<leader>w- 保存文件<leader>q- 退出<leader>/- 清除搜索高亮
[b/]b- 上一个/下一个缓冲区<Left>/<Right>- 上一个/下一个缓冲区<leader>bd- 关闭缓冲区<leader>1-9- 跳转到指定标签页th/tl- 第一个/最后一个标签页tj/tk- 下一个/上一个标签页tn- 新建标签页td- 关闭标签页
kj/jk- 退出插入模式H/L- 行首/行尾<leader>y- 复制到系统剪贴板<leader>d- 删除不覆盖寄存器gcc- 切换当前行注释gc- 切换选中内容注释ga- 对齐
<leader>e- 切换文件浏览器<C-p>/<leader>ff- 查找文件<leader>fg- 全局搜索<leader>fb- 查找缓冲区<leader>fr- 最近文件<leader>fs- 搜索光标下的字符串
gd- 跳转到定义gD- 跳转到声明gi- 跳转到实现gr- 查找引用K- 显示悬浮文档<leader>rn- 重命名<leader>ca- 代码操作<leader>f- 格式化代码[d/]d- 上一个/下一个诊断
<leader>gs- Git 状态<leader>gd- Git diff<leader>gc- Git commit<leader>gb- Git blame<leader>gl- Git log<leader>hp- 预览 hunk<leader>hs- 暂存 hunk<leader>hr- 重置 hunk]c/[c- 下一个/上一个 hunk
<leader>a- 切换代码大纲<leader>u- 撤销树<leader>xx- 切换 Trouble<C-\>- 切换终端<leader>mp- Markdown 预览
当前使用的是 Nord 主题。如需修改,编辑 lua/core.lua:
-- 修改这一行为你喜欢的主题
vim.cmd('colorscheme nord') -- 可选: solarized, molokai 等在 lua/plugins/ 目录下的相应文件中添加插件,或创建新文件。例如:
-- lua/plugins/custom.lua
return {
{
'author/plugin-name',
config = function()
-- 插件配置
end,
},
}编辑 lua/keymaps.lua:
keymap('n', '<your-key>', '<command>', opts)这个配置保留了 k-vim 的大部分按键绑定和功能,主要区别:
- 插件管理: vim-plug → lazy.nvim
- 配置语言: VimScript → Lua
- LSP: YouCompleteMe → nvim-lspconfig + nvim-cmp
- 文件浏览: NERDTree → nvim-tree.lua
- 搜索: CtrlP → telescope.nvim
- 语法: 传统 syntax → treesitter
大部分快捷键保持一致,你应该能够快速上手。
尝试:
:Lazy sync- 确保已安装对应的语言服务器:
:Mason- 检查 LSP 状态:
:LspInfo确保安装了 Nerd Font,并在终端中正确配置。
如果启动较慢,可以通过以下命令检查:
:Lazy profile使用维护脚本进行日常维护:
./maintenance.sh维护脚本提供以下功能:
- 更新所有插件
- 清理未使用的插件
- 更新 LSP 服务器
- 健康检查
- 优化启动速度
- 清理缓存
- 备份/恢复配置
- 完整维护(推荐定期运行)
使用卸载脚本管理配置:
./uninstall.sh卸载脚本提供以下选项:
- 完全卸载(删除所有文件)
- 只删除配置(保留插件)
- 清理缓存和插件(保留配置)
- 清理插件缓存
- 重置为初始状态
- 查看磁盘占用
更新插件:
:Lazy update更新 LSP 服务器:
:Mason然后按 U 更新所有
更新配置(如果从 Git 安装):
cd ~/.config/nvim
git pull欢迎提交 Issue 和 Pull Request!
MIT