⌨️ Neovim Configuration (Colemak-DH)
基于 LazyVim 的个人 Neovim 配置,深度适配 Colemak-DH 键盘布局,集成 AI 编程助手、Flutter 开发工具链,支持 Windows / WSL / Linux 跨平台使用。
🧠 Colemak-DH 全局适配 — 移动键 n/e/u/i 替代 h/j/k/l,所有插件按键均已重映射
🤖 AI 编程助手 — CodeCompanion (OpenRouter / DeepSeek / Yunwu) + Copilot 双引擎
🎨 精调 UI — Everforest 主题 + 透明背景 + 自定义补全高亮 + Bubbles 状态栏
🛠️ 多语言 LSP — Go / Python / TypeScript / Vue / Dart(Flutter) / Kotlin / Lua / JSON / Prisma
📝 Markdown 增强 — 快捷输入、实时预览、自动目录、表格对齐、fcitx5 输入法联动
🖥️ Neovide GUI 支持 — 半透明毛玻璃 + Consolas Nerd Font
nvim/
├── init.lua # 入口文件
├── lazyvim.json # LazyVim extras 配置
├── lazy-lock.json # 插件版本锁定
├── stylua.toml # Lua 代码格式化配置
├── user_config.ahk # Windows AHK Colemak 键位映射
├── snippets/
│ └── dart.lua # Dart/Flutter 自定义代码片段
└── lua/
├── config/
│ ├── lazy.lua # lazy.nvim 引导与插件加载
│ ├── options.lua # 编辑器全局选项
│ ├── keymaps.lua # 全局键位映射 (Colemak-DH)
│ ├── autocmds.lua # 自动命令 (nvim-tree 窗口管理等)
│ ├── customhighlight.lua # 自定义高亮组
│ ├── markdown.lua # Markdown 快捷键 + fcitx5 集成
│ └── neovide.lua # Neovide GUI 配置
└── plugins/
├── colorscheme.lua # 主题 (Everforest / Gruvbox / OneDark)
├── lspconfig.lua # LSP 服务器配置与 Lspsaga 键位
├── blinkcmp.lua # blink.cmp 补全引擎 (含自定义高亮)
├── lualine.lua # 状态栏 (Bubbles 主题 + LSP 状态)
├── nvim-tree.lua # 文件树 (Colemak 适配)
├── bufferline.lua # 标签页栏
├── telescope.lua # 模糊搜索 (Telescope)
├── snacks.lua # Snacks (Picker / Indent / Notifier)
├── noice.lua # 通知与命令行 UI
├── flash.lua # 快速跳转
├── flutterTool.lua # Flutter 开发工具链
├── copilot.lua # GitHub Copilot
├── codecompanion/ # CodeCompanion AI (模块化配置)
│ ├── init.lua # 主配置
│ ├── adapters.lua # AI 模型适配器
│ ├── strategies.lua # 策略配置
│ ├── keymaps.lua # 快捷键
│ ├── prompts.lua # 自定义提示词
│ └── extensions.lua # 扩展
├── lspsaga.lua # LSP UI 增强
├── multiple_cursors.lua# 多光标编辑
├── rip-substring.lua # 正则替换
├── lazygit.lua # Git 可视化
├── gitsigns.lua # Git 变更标记
├── translate.lua # 翻译 (中文)
├── marks.lua # 书签管理
├── action_hints.lua # 操作提示
├── highlight_colors.lua# 颜色高亮
├── render_markdown.lua # Markdown 渲染
├── markdown.lua # Markdown 工具 (TOC / 表格)
├── nvim-treesitter.lua # 语法高亮
├── which_key.lua # 快捷键提示
├── disabled.lua # 禁用的插件
├── windsurf.lua # Windsurf/Codeium (已注释)
└── tsTool.lua # TypeScript Tools (已注释)
本配置的核心是对 Colemak-DH 布局的全面适配。以下是基础移动键的重映射:
按键
原 Vim 功能
本配置功能
n
下一个搜索
← 左移 (h)
e
词尾
↓ 下移 (j)
u
撤销
↑ 上移 (k)
i
插入
→ 右移 (l)
N
—
行首 (0)
I
—
行尾 ($)
U
—
上移 5 行
E
—
下移 5 行
按键
功能
k
进入插入模式 (i)
K
行首插入 (I)
l
撤销 (u)
h
词尾移动 (e)
m / M
下/上一个搜索匹配 (n/N)
'
设置标记 (m)
C
切换大小写 (~)
W
向前跳词 (b)
;
进入命令模式 (:)
按键
功能
<leader>n
跳转到左窗口
<leader>e
跳转到下窗口
<leader>u
跳转到上窗口
<leader>i
跳转到右窗口
按键
功能
<leader>1~6
跳转到标签 1~6
<leader><leader>
下一个 buffer
<leader><backspace>
上一个 buffer
<C-w>
关闭当前 buffer
CodeCompanion 快捷键:
按键
功能
<leader>aa
切换 AI 对话窗口 (Normal) / 对选中文本输入 AI 指令 (Visual)
<leader>ao
将选中文本发送到 AI 对话 (Visual)
<leader>ac
打开 AI 操作面板
<leader>am
生成中文 Git Commit Message
CodeCompanion 适配器:
Chat 模式 : Yunwu 代理 (Claude Sonnet 4 / Claude Opus 4 / Gemini 3 Pro)
Inline 模式 : DeepSeek Chat
备选 : OpenRouter (MiniMax / Claude / GPT-4o / Gemini)
Copilot 快捷键:
按键
功能
<C-q>
接受 Copilot 建议
<C-n> / <C-p>
下/上一条建议
LSP 快捷键:
按键
功能
gd
跳转到定义
gr
跳转到引用
gi
跳转到实现
gh
查看悬浮文档
<M-a>
代码操作
<leader>rn
重命名变量
<C-e> / <C-u>
下/上一个诊断
<leader>ge
查看详细错误信息
<leader>gg
查看所有诊断
<M-h>
签名帮助
Markdown 插入模式快捷键 (, 前缀):
按键
功能
,b
粗体 **text**
,i
斜体 *text*
,s
删除线 ~~text~~
,d
行内代码 `text`
,c
代码块
,p
图片 
,a
链接 [](url)
,1~4
一至四级标题
,m
复选框 - [ ]
,l
横线分隔符
,f
跳转到下一个占位符 <++>
🧩 LazyVim Extras
通过 lazyvim.json 启用的 LazyVim 官方扩展:
coding.mini-comment — 注释
coding.mini-surround — 环绕编辑
editor.telescope — Telescope 搜索
formatting.prettier — Prettier 格式化
lang.go — Go 语言支持
lang.json — JSON 支持
lang.kotlin — Kotlin 支持
lang.prisma — Prisma ORM 支持
lang.python — Python 支持
lang.tailwind — Tailwind CSS 支持
lang.typescript — TypeScript 支持
lang.vue — Vue.js 支持
按 r 键(Normal 模式)根据文件类型自动运行:
文件类型
执行方式
Python
python3 %
HTML
浏览器打开
Markdown
MarkdownPreview + TableMode
JavaScript
node --trace-warnings .
TypeScript
ts-node %
Go
go run .
当使用 Neovide GUI 时自动启用:
字体 : Consolas Nerd Font, 18pt
透明度 : 0.8
毛玻璃模糊 : X=2.0, Y=2.0
Neovim ≥ 0.10.0
Git
Node.js (用于部分 LSP 和 Prettier)
ripgrep (用于 Telescope / Snacks 全局搜索)
Nerd Font (推荐 Consolas Nerd Font,已附带 ttf 文件)
lazygit (可选,Git 可视化)
Treesitter 解析器需要编译,如果遇到 Treesitter 相关报错,请确保已安装以下依赖:
tree-sitter CLI — 用于编译 Treesitter 解析器
gcc — C 编译器,用于编译解析器
Windows 安装方式 (推荐使用 Scoop)
# 安装 Scoop (如果尚未安装)
Set-ExecutionPolicy - ExecutionPolicy RemoteSigned - Scope CurrentUser
Invoke-RestMethod - Uri https:// get.scoop.sh | Invoke-Expression
# 使用 Scoop 安装依赖
scoop install tree- sitter gcc
# macOS (Homebrew)
brew install tree-sitter gcc
# Linux (Debian/Ubuntu)
sudo apt install tree-sitter gcc
# Linux (Arch)
sudo pacman -S tree-sitter gcc
提示 : 如果 Treesitter 报错(如 tree-sitter cli not found 或编译失败),请先尝试升级这两个工具到最新版本。
# 备份已有配置
mv ~ /.config/nvim ~ /.config/nvim.bak
# 克隆配置
git clone https://github.com/< your-username> /neovim_lua.git ~ /.config/nvim
# 首次启动会自动安装所有插件
nvim
Windows 用户 : 配置目录位于 %LOCALAPPDATA%\nvim
附带 user_config.ahk 文件,用于在 Windows 全局实现 Colemak-DH 布局:
QWERTY → Colemak 全键位映射
CapsLock → ESC
Alt + 1~8 — 切换虚拟桌面
Alt + Shift + 1~9 — 移动窗口到虚拟桌面
Alt + i/k/j/l — 方向键模拟
Apache-2.0