neovim-config

(仓库)[https://github.com/patricorgi/dotfiles]

快捷键表格

核心编辑快捷键

快捷键 功能 描述
jk 退出插入模式 在插入模式下快速退出
j/k 智能移动 无计数时按显示行移动,有计数时按实际行移动
<Esc> 清除搜索高亮 取消搜索结果高亮显示
\ 水平分割窗口 创建水平分割
| 垂直分割窗口 创建垂直分割
L/H 切换缓冲区 在最近使用的缓冲区间切换
+ 最大化窗格 最大化当前 Neovim 窗格
= 恢复窗格 恢复所有窗格大小

文件查找和导航 (Snacks)

快捷键 功能 描述
<leader>ff 智能文件查找 上下文感知的文件查找器
<leader>fo 最近文件 查找最近打开的文件
<leader>fw 内容搜索 在文件中搜索内容
<leader><leader> 缓冲区切换 在打开的缓冲区间切换
<leader>ls 符号查找 查找当前缓冲区中的符号
<leader>fd 诊断信息 查找 LSP 诊断信息
<leader>fc 配置文件 查找 Neovim 配置文件
<leader>fg 仓库选择 自定义仓库选择器
<leader>fh 帮助查找 在帮助文档中查找
<leader>fk 快捷键查找 查找已定义的快捷键
<leader>fm 标记查找 查找 Vim 标记
<leader>fn 通知查找 查找通知历史
<leader>fs 工作区符号 查找工作区中的符号
<leader>fi 图标查找 查找可用图标
<leader>fb 行内容查找 在当前缓冲区中查找行
<leader>fH 高亮查找 查找高亮组
<leader>f/ 搜索历史 查找搜索历史
<leader>fj 跳转列表 查找跳转历史
<leader>ft TODO 查找 查找 TODO 注释或 Markdown 任务
<leader>bc 删除缓冲区 删除当前缓冲区
<leader>bC 删除其他缓冲区 删除除当前外的所有缓冲区
<leader>n 通知历史 显示通知历史记录

LSP 相关快捷键

快捷键 功能 描述
gd 跳转定义 使用 Snacks picker 跳转到定义
gD 分割跳转定义 在新分割窗口中跳转到定义
gr 查找引用 查找符号的所有引用
<leader>la 代码操作 显示可用的代码操作
<leader>rn 重命名符号 重命名当前符号
<leader>ld 显示诊断 显示当前行的诊断信息
<leader>td 切换诊断 开关诊断信息显示
<leader>th 切换内联提示 开关 LSP 内联提示

Git 操作快捷键

快捷键 功能 描述
]c/[c Git 块导航 跳转到下一个/上一个 Git 更改块
<leader>gs 暂存块 暂存当前 Git 更改块
<leader>gr 重置块 重置当前 Git 更改块
<leader>gp 预览块 预览 Git 更改块
<leader>gd Git 差异 显示与索引的差异
<leader>gb Git blame 显示当前行的 Git blame 信息
<leader>gg 打开 Lazygit 在当前仓库根目录打开 Lazygit
<leader>gS 暂存整个缓冲区 暂存当前文件的所有更改
<leader>gR 重置整个缓冲区 重置当前文件的所有更改
<leader>gD 与上次提交对比 显示与最后一次提交的差异
<leader>tb 切换 blame 显示 开关当前行的 Git blame 信息
<leader>tD 切换删除预览 开关删除内容的内联预览
<leader>tg 切换 Git 标记 开关 Git 状态标记显示

调试相关快捷键

快捷键 功能 描述
<leader>du 切换调试 UI 开关调试界面
<F1> 切换调试 UI 同上,功能键版本
<leader>ds 开始/继续调试 启动或继续调试会话

任务管理快捷键 (Overseer)

快捷键 功能 描述
<leader>rr 运行模板 运行 Overseer 任务模板
<leader>rt 切换任务列表 开关任务列表显示
<leader>ra 快速操作 显示快速操作列表

多光标操作快捷键

快捷键 功能 描述
<C-n> 添加光标 匹配并添加新光标
<leader>s 跳过光标 跳过当前匹配
<leader>A 添加所有匹配 为所有匹配项添加光标
<C-q> 切换光标 在当前位置添加/移除光标

主要插件功能

核心插件

插件 功能 用途
snacks.nvim 多功能工具集 文件查找、缓冲区管理、通知系统、仪表板
blink.cmp 补全引擎 提供智能代码补全和文档显示
gitsigns.nvim Git 集成 Git 状态显示、块操作、blame 信息
flash.nvim 快速跳转 使用 ss 进行快速文本跳转
multicursor.nvim 多光标编辑 支持多光标同时编辑

开发工具插件

插件 功能 用途
nvim-dap 调试适配器 提供调试功能支持
overseer.nvim 任务运行器 管理和运行各种开发任务
oil.nvim 文件管理器 类似缓冲区的文件浏览器
mini.nvim 轻量工具集 包含文件操作、图标、环绕编辑等功能

UI 和主题插件

插件 功能 用途
catppuccin 主题配色 提供 Mocha 配色方案,支持透明背景
ultimate-autopair 自动配对 智能括号、引号配对,支持多种文件类型
render-markdown Markdown 渲染 增强 Markdown 文件的显示效果

调试相关快捷键

快捷键 功能 描述
<leader>du 切换调试 UI 开关调试界面
<F1> 切换调试 UI 同上,功能键版本
<leader>ds 开始/继续调试 启动或继续调试会话

任务管理快捷键 (Overseer)

快捷键 功能 描述
<leader>rr 运行模板 运行 Overseer 任务模板
<leader>rt 切换任务列表 开关任务列表显示
<leader>ra 快速操作 显示快速操作列表

快速跳转快捷键 (Flash)

快捷键 功能 描述
ss Flash 跳转 快速跳转到指定位置
SS Treesitter 搜索 基于语法树的搜索跳转

缓冲区管理快捷键

快捷键 功能 描述
<leader>bc 删除缓冲区 删除当前缓冲区
<leader>bC 删除其他缓冲区 删除除当前外的所有缓冲区
<leader>n 通知历史 显示通知历史记录

补全系统快捷键

快捷键 功能 描述
<C-u> 文档向上滚动 在补全文档中向上滚动
<C-d> 文档向下滚动 在补全文档中向下滚动

特殊功能快捷键

快捷键 功能 描述
<leader>tz 无干扰模式 连续切换多个显示选项
<space>X 执行 Lua 文件 运行当前 Lua 文件
<space>x 执行当前行 运行当前行的 Lua 代码
<CR> 切换折叠 在折叠行上切换折叠状态

Oil.nvim 配置概述

Oil.nvim 是一个文件管理器插件,它将文件浏览器作为一个可编辑的缓冲区来使用。 1

主要配置内容

基本设置

  • default_file_explorer = true - 将 Oil 设置为默认文件浏览器,替代 netrw 2

自定义快捷键映射

Oil 重新定义了许多快捷键以提供更直观的文件操作体验:

快捷键 功能 描述
<C-r> 刷新 刷新当前目录内容
<leader>y 复制路径 复制当前文件/目录路径
zh 切换隐藏文件 显示/隐藏以点开头的文件
\ 水平分割打开 在水平分割窗口中打开文件
| 垂直分割打开 在垂直分割窗口中打开文件
- 关闭 Oil 关闭文件浏览器
<leader>e 关闭 Oil 另一个关闭快捷键
<BS> 返回上级目录 导航到父目录

详细视图切换功能

Oil 包含一个智能的详细视图切换功能,通过 gd 快捷键控制: 4

  • 简单视图:只显示文件图标
  • 详细视图:显示图标、权限、大小和修改时间

窗口栏配置

Oil 配置了自定义的窗口栏显示当前目录路径: 5

这个函数会显示当前目录的相对路径(相对于家目录),如果无法获取目录则显示缓冲区名称。

如何使用

  1. 打开 Oil:由于设置为默认文件浏览器,您可以使用 :e .:Oil 命令打开当前目录

  2. 导航

    • 使用 j/k 上下移动
    • <CR> 进入目录或打开文件
    • 使用 <BS> 返回上级目录
  3. 文件操作

    • Oil 将目录内容显示为可编辑的缓冲区
    • 您可以直接编辑文件名来重命名
    • 删除行来删除文件
    • 添加新行来创建新文件
  4. 视图切换

    • gd 在简单视图和详细视图间切换
    • zh 显示/隐藏隐藏文件

lua/custom/plugins 目录下插件的自定义快捷键

Mini.nvim 插件快捷键 (mini.lua)

Mini.nvim 提供了环绕编辑功能的快捷键:

快捷键 功能 描述
sa 添加环绕 在普通和可视模式下添加环绕字符
sd 删除环绕 删除环绕字符
sf 查找环绕(右) 向右查找环绕字符
sF 查找环绕(左) 向左查找环绕字符
sh 高亮环绕 高亮显示环绕字符
sr 替换环绕 替换环绕字符
sn 更新行数 更新 n_lines 设置

Multicursor.nvim 插件快捷键 (multicursor.lua)

多光标编辑插件提供了丰富的光标操作快捷键:

快捷键 功能 描述
<C-n> 添加匹配光标 匹配当前词并添加光标
<leader>s 跳过匹配 跳过当前匹配项
<leader>N 向上添加光标 向上方向添加匹配光标
<leader>S 向上跳过 向上方向跳过匹配
<leader>A 添加所有匹配 为文档中所有匹配项添加光标
<left>/<right> 光标导航 在多个光标间切换
<c-leftmouse> 鼠标添加光标 用 Ctrl+左键添加/移除光标
<c-q> 切换光标 在当前位置添加/移除光标
<leader>gv 恢复光标 恢复意外清除的光标
<c-i>/<c-o> 跳转列表 在跳转历史中前进/后退

Ultimate-autopair 插件快捷键 (autopairs.lua)

自动配对插件的快捷键:

快捷键 功能 描述
<C-q> Tab 跳出 跳出当前配对字符