Skip to content

follow1123/nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Neovim Config

使用 lazy.nvim 管理插件

依赖

  • Neovim >= 0.9.0
  • Git
  • Nerd Font字体 (可选)
  • C编译工具 (用于编译nvim-treesitter)
  • fd (文件查找)
  • ripgrep (模糊搜索)
  • lazygit (git管理)

安装

Windows

使用 powershell 安装

git clone https://github.com/follow1123/nvim $ENV:LOCALAPPDATA\nvim

Linux

git clone https://github.com/follow1123/nvim ~/.config/nvim

按键映射

以下快捷键都是新增或修改的,不包含默认的快捷键

  • Leader 键为 Space
  • 禁用 Ctrl+bCtrl+f 使用 Ctrl+dCtrl+u 代替

基础

窗口
模式 按键 说明
Normal Ctrl+h 光标移动到左边的窗口
Normal Ctrl+j 光标移动到下边的窗口
Normal Ctrl+l 光标移动到右边的窗口
Normal Ctrl+k 光标移动到上边的窗口
Normal Ctrl+left 减少垂直窗口大小
Normal Ctrl+right 增加垂直窗口大小
Normal Ctrl+up 减少水平窗口大小
Normal Ctrl+down 增加水平窗口大小
Normal Alt+q 退出窗口
Buffer
模式 按键 说明
Normal Alt+n 切换到下一个buffer
Normal Alt+p 切换到上一个buffer
Normal Alt+` 来回切换两个buffer
Normal Leader+b+f 列出所有的buffer
注释
模式 按键 说明
Normal Alt+e 单行注释
Visual Alt+e 多行注释
Quickfix List

只有 quickfix list 窗口打开的情况下这两个按键才有效

模式 按键 说明
Normal Ctrl+n 下一个 quickfix item
Normal Ctrl+p 上一个 quickfix item
帮助
模式 按键 说明
Normal Leader+h+f 搜索通用帮助信息
Normal Leader+h+k 显示所有按键信息
Normal Leader+h+r 显示所有registers信息
Normal Leader+h+h 显示所有highlights信息

文件管理

Netrw

扩展内置插件 netrw 让这个插件好用一点

  • 打开 netrw 窗口时自动定位文件
  • netrw 窗口自动定位打开的文件
模式 作用域(文件类型) 按键 说明
Normal * Alt+1 开关或关闭目录树
Normal netrw g+w netrw 窗口定位到当前共做目录
Normal netrw y+p 复制当前文件的相对路径
Normal netrw y+P 复制当前文件的绝对路径
Normal netrw Alt+f netrw 窗口内可以搜索文件或目录
文件搜索
模式 按键 说明
Normal Alt+f 搜索当前项目内的文件
Normal Leader+f+f 在当前项目内搜索
Normal Leader+f+w 在当前项目内搜索当前光标下的单词
Git
模式 按键 说明
Normal ]+c 下一处变更
Normal [+c 上一处变更
Normal Leader+g+r 重置光标所在位置的变更
Normal Leader+g+R 重置当前 buffer 内的所有变更
Normal Leader+g+s 显示当前项目的git status信息
Visual Leader+g+r 重置选中的所有变更
Normal Leader+g+p 弹出光标所在位置的变更的diff窗口
Normal Leader+g+b 弹出光标所在位置的变更的blame窗口
Normal Leader+g+d diff 当前 buffer

开发

LSP

相关插件:

模式 按键 说明
Normal Leader+l+d 显示当前buffer的所有的诊断信息
Normal Leader+l+D 显示当前项目的所有的诊断信息
Normal Leader+l+s 显示当前buffer的所有的符号信息
Normal Leader+l+S 显示当前项目的所有的符号信息
Normal Leader+l+r 重命名光标下的符号
Normal Leader+l+p 弹窗显示当前光标下的诊断信息
Normal Leader+c+a 显示code action
Normal Leader+c+f 格式化代码
Normal g+i 跳转到实现
Normal g+d 跳转到定义
Normal g+t 跳转到类型定义
Normal g+D 跳转到声明
Normal g+r 跳转到引用
Normal [+d 上一处代码诊断
Normal ]+d 下一处代码诊断
Normal Shift+k 显示当前光标下符号的文档
Normal Alt+Enter 显示code action
Normal F2 重命名光标下的符号
代码补全

相关插件:

模式 按键 说明
Insert Ctrl+n 下一个补全
Insert Ctrl+p 上一个补全
Insert Ctrl+k 开始补全
Insert Ctrl+u 文档弹窗内容向上滚动
Insert Ctrl+d 文档弹窗内容向下滚动
Insert Enter 完成补全
Insert Ctrl+k 显示补全弹窗或开关文档弹窗
Insert Select Ctrl+c 打断补全或代码片段
Insert Select Tab 选择补全或代码片段的下一处
Insert Select Shift+Tab 代码片段的上一处

项目管理

Project Manager

基于自带的 session 功能开发的扩展

项目管理窗口的文件类型是 projectmgr

添加或删除项目的方式就像 Harpoonoil.nvim 一样,直接操作 buffer 里面的路径即可

模式 作用域(文件类型) 按键 说明
Normal * Leader+p+f 打开或关闭项目管理窗口
Normal * Leader+p+r 恢复最近一个打开的项目的 session
Normal * Leader+p+s 保存当前项目的 session
Normal * Leader+p+a 将当前项目添加进管理列表
Normal projectmgr Enter 打开选中的项目
Normal projectmgr q/Alt+q/Esc 退出项目管理窗口
Normal projectmgr K 显示项目完整路径
Harpoon

管理主要编辑的文件,防止多次 Ctrl+iCtrl+o 后找不到文件在哪里

模式 按键 说明
Normal Leader+f+a 添加当前文件到harpoon list
Normal Leader+f+l 弹窗显示harpoon list
Normal Alt+j 打开harpoon list内的第1个文件
Normal Alt+k 打开harpoon list内的第2个文件
Normal Alt+l 打开harpoon list内的第3个文件
Normal Alt+; 打开harpoon list内的第4个文件

终端

基于内置的终端实现

  • lazygit terminal - 封装 lazygit
  • scratch terminal - 草稿终端
  • task manager - 管理一堆终端,参考 vs code
模式 按键 说明
Normal Terminal Ctrl+\ 打开或关闭草稿终端
Normal Terminal Alt+6 打开或关闭lazygit终端
Normal Terminal Alt+4 打开或关闭 task manager
Terminal Ctrl+n 下一个 task terminal
Terminal Ctrl+p 上一个 task terminal
Terminal Ctrl+t+n 新打开一个 task terminal
Terminal Ctrl+t+Ctrl+n 新打开一个 task terminal
Terminal Alt+x+n 新打开一个 task terminal(仅在GUI下生效)

其他

模式 按键 说明
Normal Leader+m+p 开关markdown文件预览

参考