/nvim

my neovim config

Primary LanguageLua

⚠️ Note: 配置已修改,但是 README 未更新。

Neovim 配置

nvim

1. 依赖

使用配置之前确保安装了以下软件包。

6. nerd-fonts
7. fzf
8. xclip
9. ripgrep
10. wget
11. unzip

Arch Linux 使用 pacman 和 yay 安装依赖

sudo pacman -S fzf ripgrep xclip

yay -S nerd-fonts-fira-code

2. 使用本配置

git clone https://github.com/GIN-18/nvim.git ~/.config/nvim

3. 快捷键

快捷键 描述
s 保存
shift s 保存退出
shift h 光标移动到行首
shift l 光标移动到行尾
shift j 光标向下移动5行
shift k 光标向上移动5行
space s l 左右分屏,光标在左分屏
space s j 上下分屏,光标在下分屏
shift alt h 光标移动到左分屏
shift alt j 光标移动到下分屏
shift alt k 光标移动到上分屏
shift alt l 光标移动到右分屏
shift up 上下分屏时,增加分屏高度
shift down 上下分屏时,减少分屏高度
shift left 左右分屏时,增加分屏宽度
shift right 左右分屏时,减少分屏宽度
space y c 在可视模式下,复制到系统剪贴板
space n h 取消搜索结果的高亮
space e v 打开 $MYVIMRC

lua/core/keymaps.lua 文件中可以修改快捷键的配置。

4. 基本功能

👔 插件管理器 - lazy.nvim

插件管理器地址folke/lazy.nvim

🔧 lsp 支持 - nvim-lspconfig

插件地址neovim/nvim-lspconfig

快捷键 描述
space g d 跳转到变量或者函数定义处
space g r 跳转到变量或者函数引用处
space r n 变量或者函数重命名
space c f 代码格式化
space c a 列出 code action
space d t 预览 diagnostic
space d n 下一处 diagnostic
space d p 上一处 diagnostic

lua/plugins/nvim-lspconfig.lua 文件中可以修改配置。

Demo (click to expand) nvim-lspconfig-diagnostic

💻 自动补全 - nvim-cmp

插件地址hrsh7th/nvim-cmp

快捷键 描述
ctrl n 向下高亮补全项
ctrl p 向上高亮补全项
ctrl j 代码片段跳到下一个标记处
ctrl k 代码片段跳到上一个标记处
enter 选择高亮的补全项

lua/plugins/nvim-cmp.lua 文件中可以修改配置。

Demo (click to expand) 内容补全
nvim-cmp
命令行补全
nvim-cmdline
[ "/", "?" ] 查找补全
nvim-search

📚 代码片段 - luasnip

插件地址L3MON4D3/LuaSnip

my-snippets/snippets 目录下可以添加自定义的代码片段。

添加完成需要在 my-snippets/package.json 文件中引入自定义的代码片段。

Demo (click to expand) 代码片段的写法和 vscode 的代码片段的写法一样。
luasnip

🔭 模糊搜索 - telescope

插件地址nvim-telescope/telescope.vim

快捷键 描述
space f f 查找当前目录下的文件
space f h 查找家目录下的文件
space f g 查找 git 管理的文件
space f o 查找最近打开过的文件
space f b 查找 Buffers
space f l 查找行
space f p 查找项目
space f t 查找 todo comments
ctrl n 打开 telescope 后,向下移动一格
ctrl p 打开 telescope 后,向上移动一格
ctrl j 打开 telescope 后,下一条搜索过的内容
ctrl k 打开 telescope 后,上一条搜索过的内容
enter 打开 telescope 后,选择高亮的选项
esc 退出 telescope

lua/plugins/telescope.lua 文件中可以修改配置。

Demo (click to expand) 查找项目,需要 ahmedkhalf/project.nvim 插件的支持。
lua/plugins/project.lua 文件中可以修改此插件的配置。
telescope-project

📁 文件管理器 - nvim-tree

插件地址nvim-tree/nvim-tree.lua

快捷键 描述
space e e 打开 nvim-tree
q 退出 nvim-tree

lua/plugins/nvim-tree.lua 文件中可以修改配置。

Demo (click to expand) nvim-tree

5. git 支持

📌 显示 git 标记 - gitsigns

插件地址lewis6991/gitsigns.nvim

快捷键 描述
space h r 重置 hunk
space h n 下一处 hunk
space h p 上一处 hunk
space h l 预览 hunk

lua/plugins/gitsigns.lua 文件中可以修改配置。

Demo (click to expand) gitsigns

🐨 git 操作 - lazygit

插件地址kdheepak/lazygit.nvim

快捷键 描述
space g g 打开 lazygit
q 退出 lazygit

lua/plugins/lazygit.lua 文件中可以修改配置。

Demo (click to expand) lazygit

6. Markdown 支持

📝 快速输入

插入模式(insert-mode) 下,markdown 文件中输入:

快捷键 描述
h1 输入一级标题
h2 输入二级标题
h3 输入三级标题
h4 输入四级标题
h5 输入五级标题
h6 输入六级标题
img 插入图片
codeblock 插入代码块
code 使用反引号包裹
table 插入表格
link 插入链接
horizontal rule 插入分隔线
bold 输入粗体文本
italic 输入斜体文本
bold and italic 输入粗斜体文本
strikethrough 输入删除线

my-snippets/snippets/markdown.json 文件中可以修改配置。

Demo (click to expand) md-quick-input

👀 Markdown 预览 - markdown-preview

插件地址iamcco/markdown-preview.nvim

快捷键 描述
shift r 打开预览

配置中使用 microsoft-edge-beta 浏览器作为预览工具。

init.vim 文件中可以找到关于 markdown-preview 的配置并修改。

Demo (click to expand) markdown-preview

📏 表格模板 - vim-table-mode

插件地址dhruvasagar/vim-table-mode

快捷键 描述
alt shift t 启动表格模板
alt shift r 表格模板重新对齐

init.vim 文件中可以找到关于 table-mode 的配置并修改。

Demo (click to expand) table-mode

📋 从剪贴板插入图片 - md-img-paste

插件地址ferrine/md-img-paste.vim

快捷键 描述
space p i 输入图片的名称

init.vim 文件中可以找到关于 md-img-paste 的配置并修改。

Demo (click to expand) md-img-paste