Skip to content

JellyfishKnight/.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Neovim 配置快捷键指南

这个文档记录了当前 Neovim 配置中的所有自定义快捷键。

基本设置

  • Leader 键: 空格键
  • 快捷键等待时间: 1000ms (1秒)

快捷键分类

1. 基础移动改进

按键 模式 功能 说明
j 普通 向下移动(按显示行) 适合长行折行显示时的移动
k 普通 向上移动(按显示行) 适合长行折行显示时的移动

2. 窗口操作

窗口导航

按键 模式 功能
Ctrl+h 普通 切换到左侧窗口
Ctrl+j 普通 切换到下方窗口
Ctrl+k 普通 切换到上方窗口
Ctrl+l 普通 切换到右侧窗口

窗口大小调整

按键 模式 功能
Ctrl+↑ 普通 增加窗口高度
Ctrl+↓ 普通 减少窗口高度
Ctrl+← 普通 减少窗口宽度
Ctrl+→ 普通 增加窗口宽度

分屏操作 (Leader + 字母)

按键 模式 功能
空格+sv 普通 垂直分屏
空格+sh 普通 水平分屏
空格+se 普通 平衡分屏大小
空格+sx 普通 关闭当前分屏

3. 缓冲区(文件)导航

按键 模式 功能
Shift+l 普通 切换到下一个缓冲区
Shift+h 普通 切换到上一个缓冲区

4. 缩进操作

普通模式

按键 模式 功能
Tab 普通 当前行向右缩进
Shift+Tab 普通 当前行向左缩进

可视模式

按键 模式 功能
Tab 可视 选中行向右缩进并保持选择
Shift+Tab 可视 选中行向左缩进并保持选择
< 可视 向左缩进并保持选择
> 可视 向右缩进并保持选择

插入模式

按键 模式 功能
Shift+Tab 插入 反缩进

5. 文本移动

按键 模式 功能
J 可视 向下移动选中文本
K 可视 向上移动选中文本

6. 文件操作 (Leader + 字母)

按键 模式 功能
空格+w 普通 保存当前文件
空格+W 普通 保存所有文件
空格+q 普通 退出当前窗口
空格+Q 普通 强制退出所有窗口

7. 搜索控制

按键 模式 功能
空格+h 普通 清除搜索高亮

8. 插入模式下的光标移动

按键 模式 功能
Ctrl+h 插入 光标左移
Ctrl+j 插入 光标下移
Ctrl+k 插入 光标上移
Ctrl+l 插入 光标右移

9. 配置文件操作

按键 模式 功能
空格+ev 普通 编辑 Neovim 配置
空格+sv 普通 重新加载配置

⚠️ 注意: 空格+sv 有冲突,建议改为其他键

10. 粘贴增强

按键 模式 功能
空格+p 可视块 粘贴但不影响剪贴板

11. Cargo 操作 (Leader + 字母)

适用于 Rust 项目开发:

按键 模式 功能
空格+cb 普通 Cargo 构建项目
空格+cr 普通 Cargo 运行项目
空格+ct 普通 Cargo 运行测试
空格+cc 普通 Cargo 检查代码
空格+cf 普通 Cargo 格式化代码
空格+cl 普通 Cargo 代码检查(clippy)
空格+cu 普通 Cargo 更新依赖
空格+cd 普通 Cargo 生成并打开文档

12. 行操作 (Leader + 字母)

按键 模式 功能
空格+d 普通 删除当前行
空格+D 普通 删除当前行(可视模式)
空格+o 普通 在下方插入空行
空格+O 普通 在上方插入空行

13. 注释功能

按键 模式 功能
Ctrl+/ 普通 切换当前行注释
Ctrl+/ 可视 切换选中行的注释

备注: 在某些终端中,Ctrl+/ 可能被识别为 Ctrl+_

插件快捷键详解

14. 自动补全系统 (nvim-cmp)

插入模式补全操作

按键 功能
Ctrl+k 选择上一个补全项
Ctrl+j 选择下一个补全项
Ctrl+b 向上滚动文档预览
Ctrl+f 向下滚动文档预览
Ctrl+Space 手动触发补全
Ctrl+e 取消补全
Enter 确认选中的补全项
Tab 选择下一项或展开代码片段
Shift+Tab 选择上一项或跳转到上一个片段位置

15. 代码注释插件扩展 (Comment.nvim)

除了之前提到的 Ctrl+/ 快捷键,还有以下原生快捷键:

按键 模式 功能
gcc 普通 切换当前行注释
gbc 普通 切换块注释
gc[motion] 普通 对指定区域切换行注释
gb[motion] 普通 对指定区域切换块注释
gcO 普通 在上方添加注释行
gco 普通 在下方添加注释行
gcA 普通 在行尾添加注释

16. Git 操作 (多个插件)

Gitsigns - Git 状态和行级操作

按键 功能
空格+hp 预览 Git 变更
空格+hb 切换 Git blame 显示
空格+hs 暂存当前 hunk
空格+hr 重置当前 hunk
空格+hu 撤销暂存 hunk
]h 跳转到下一个 Git 变更
[h 跳转到上一个 Git 变更

vim-fugitive - Git 命令行集成

按键 功能
空格+gs Git 状态
空格+gd Git diff
空格+gl Git log
空格+ga Git add 所有文件
空格+gA Git add 当前文件
空格+gc Git commit
空格+gC Git commit -m(需要输入消息)
空格+gp Git push
空格+gP Git pull
空格+gf Git fetch
空格+gb 查看分支
空格+gB 创建新分支
空格+go 切换分支
空格+gr Git reset
空格+gR Git reset --hard

LazyGit 和 Diffview

按键 功能
空格+gg 打开 LazyGit UI
空格+gv 打开 Diff 视图
空格+gV 关闭 Diff 视图
空格+gh 查看文件 Git 历史
空格+gH 查看当前文件 Git 历史

Git 冲突解决

按键 功能
空格+gmo 选择我们的更改
空格+gmt 选择他们的更改
空格+gmb 保留双方更改
空格+gm0 删除双方更改
]x 下一个冲突
[x 上一个冲突

17. LSP 语言服务器

代码导航

按键 功能
gd 跳转到定义
gD 跳转到声明
gi 跳转到实现
gr 查找引用

文档和帮助

按键 功能
K 显示悬浮文档
Ctrl+k 显示函数签名帮助

代码编辑

按键 功能
空格+rn 重命名符号
空格+ca 代码操作
空格+f 格式化代码

诊断导航

按键 功能
[d 上一个诊断错误
]d 下一个诊断错误
空格+q 打开诊断列表

18. 导航插件

nvim-tree 文件树

按键 功能
空格+e 切换文件树显示

Telescope 模糊搜索

按键 功能
空格+ff 查找文件
空格+fg 全文搜索
空格+fb 搜索缓冲区
空格+fh 搜索帮助文档

Hop 快速跳转

按键 功能
空格+j 跳转到单词
空格+l 跳转到行

19. 终端插件 (ToggleTerm)

基础终端操作

按键 功能
Ctrl+\ 切换默认终端(水平分屏)
空格+t 切换水平终端(底部)
空格+tv 切换垂直终端(右侧)
空格+th 切换水平终端(底部)
空格+tf 切换浮动终端

多终端管理

按键 功能
空格+t1 切换终端1
空格+t2 切换终端2
空格+t3 切换终端3

终端模式下的快捷键

按键 模式 功能
Esc 终端 退出终端模式到普通模式
Ctrl+h 终端 切换到左侧窗口
Ctrl+j 终端 切换到下方窗口
Ctrl+k 终端 切换到上方窗口
Ctrl+l 终端 切换到右侧窗口

20. GitHub Copilot AI 助手

Copilot 基础操作

按键 模式 功能
Ctrl+g 插入 接受 Copilot 建议
Ctrl+] 插入 拒绝 Copilot 建议
Alt+[ 插入 上一个 Copilot 建议
Ctrl+' 插入 下一个 Copilot 建议

Copilot 管理

按键 功能
空格+cp 打开 Copilot 面板
空格+cs 查看 Copilot 状态
空格+ce 启用 Copilot
空格+cd 禁用 Copilot
空格+ct 切换 Copilot 开关

Copilot Chat 对话助手

按键 模式 功能
空格+cc 普通/可视 打开 Copilot Chat
空格+ccq 普通 Copilot 快速问答
空格+cce 普通/可视 解释代码
空格+ccr 普通/可视 审查代码
空格+cco 普通/可视 优化代码
空格+ccd 普通/可视 生成文档
空格+cct 普通/可视 生成测试
空格+ccf 普通/可视 修复代码
空格+ccx 普通 重置 Chat 对话
空格+ccv 普通 切换 Chat 窗口

Chat 窗口内快捷键

按键 功能
Tab 自动补全
q 关闭窗口
Ctrl+c 关闭窗口(插入模式)
Ctrl+r 重置对话
Enter 提交问题(普通模式)
Ctrl+s 提交问题(插入模式)
Ctrl+y 接受差异
gy 复制差异
gd 显示差异
gp 显示系统提示
gs 显示上下文

21. 其他实用插件

多光标编辑 (vim-visual-multi)

  • 使用插件默认快捷键,具体请查看插件文档

包围操作 (nvim-surround)

  • 使用插件默认快捷键,如 ys, ds, cs

自动补全插件

  • nvim-autopairs: 自动配对括号(无需快捷键)
  • indent-blankline: 缩进线显示(无需快捷键)
  • rainbow-delimiters: 彩虹括号(无需快捷键)

插件功能

文件标签栏 (bufferline.nvim)

  • 顶部显示打开的文件标签
  • 支持鼠标点击切换文件
  • 右键点击关闭文件
  • 显示文件修改状态

状态栏 (lualine.nvim)

  • 显示当前模式、Git 分支、文件信息等
  • 支持主题颜色

主题 (catppuccin)

  • 使用 mocha 深色主题
  • 支持多种插件集成

快捷键设计原则

  1. Vim 原生兼容: 保持与 Vim 原生快捷键的一致性
  2. Leader 键分组: 使用空格键作为 leader,按功能分组
  3. Ctrl 键导航: Ctrl + hjkl 用于快速窗口导航
  4. Shift 键变体: Shift + 字母用于相关功能的变体操作
  5. 直观记忆: 快捷键尽量与功能英文单词首字母对应

使用建议

  1. 分屏工作流: 使用 空格+sv/sh 分屏,Ctrl+hjkl 切换窗口
  2. 缓冲区导航: 使用 Shift+h/l 在打开的文件间快速切换,或使用 空格+fb 搜索缓冲区
  3. 文件导航: 使用 空格+e 打开文件树,或 空格+ff 模糊搜索文件
  4. 代码编辑:
    • 使用 Ctrl+/gcc 快速注释/取消注释代码
    • 使用 gd 跳转到定义,gr 查找引用
    • 使用 空格+ca 进行代码操作,空格+f 格式化代码
  5. Git 工作流:
    • 使用 空格+gg 打开 LazyGit 进行可视化 Git 操作
    • 使用 空格+gs 查看 Git 状态,空格+hp 预览变更
    • 使用 ]h/[h 在 Git 变更间跳转
  6. 搜索功能:
    • 使用 空格+fg 全文搜索
    • 使用 空格+fh 搜索帮助文档
  7. Rust 开发:
    • 使用 cargo 快捷键快速构建和测试项目
    • 自动导入功能:选择补全项时自动添加 use 语句
  8. AI 辅助编程:
    • 使用 Ctrl+g 接受 Copilot 代码建议
    • 使用 空格+cc 打开 Copilot Chat 进行代码对话
    • 选中代码后使用 空格+cce 解释代码,空格+cco 优化代码
  9. 终端集成:
    • 使用 Ctrl+\空格+t 打开底部终端(类似VSCode)
    • 使用 空格+tv 打开右侧垂直终端
    • 在终端中使用 Esc 切换到普通模式,用 Ctrl+hjkl 切换窗口
    • 支持多终端:空格+t1/t2/t3 管理不同的终端实例

故障排除

  • 快捷键不响应: 检查是否在1秒内完成组合键输入
  • 分屏快捷键冲突: 空格+sv 与重新加载配置冲突,建议修改其中一个
  • 注释功能无效: 确认 Comment.nvim 插件已正确安装
  • LSP 功能不工作: 确保相应的语言服务器已安装
  • Rust 自动导入不工作: 确保 rust-analyzer 已安装并配置正确
  • Copilot 无响应: 运行 :Copilot setup 进行认证
  • 文件搜索无结果: 检查当前目录是否为项目根目录
  • Git 功能异常: 确保当前目录是 Git 仓库

快捷键速查表

最常用快捷键

功能分类 快捷键 功能描述
文件操作 空格+e 文件树
文件操作 空格+ff 查找文件
文件操作 空格+w 保存文件
搜索 空格+fg 全文搜索
搜索 空格+fb 搜索缓冲区
Git 空格+gg LazyGit
Git 空格+gs Git 状态
代码 gcc 注释切换
代码 gd 跳转定义
代码 空格+ca 代码操作
AI助手 Ctrl+g 接受Copilot建议
AI助手 空格+cc Copilot Chat
终端 Ctrl+\ 底部终端
分屏 空格+sv 垂直分屏

插件统计

  • 总插件数: 22+ 个
  • 主要功能: AI辅助编程、代码编辑、Git 集成、文件导航、LSP 支持、终端集成
  • 新增功能: GitHub Copilot AI 代码助手、自动导入支持
  • 主题: catppuccin mocha
  • 插件管理器: lazy.nvim

最后更新: 2025年 - 新增GitHub Copilot AI助手集成和Rust自动导入功能

About

自用neovim配置

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages