https://github.com/gin-18/nvim
my neovim config for web development.
https://github.com/gin-18/nvim
docer-compose dockerfile javascript markdown typescript vue3
Last synced: 4 days ago
JSON representation
my neovim config for web development.
- Host: GitHub
- URL: https://github.com/gin-18/nvim
- Owner: gin-18
- Created: 2021-04-06T07:19:38.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2025-12-12T08:48:19.000Z (about 2 months ago)
- Last Synced: 2025-12-13T19:19:53.739Z (about 2 months ago)
- Topics: docer-compose, dockerfile, javascript, markdown, typescript, vue3
- Language: Lua
- Homepage:
- Size: 184 KB
- Stars: 42
- Watchers: 2
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
> :warning: Note: 配置已修改,但是 README 未更新。
# Neovim 配置

## 1. 依赖
使用配置之前确保安装了以下软件包。
```
6. nerd-fonts
7. fzf
8. xclip
9. ripgrep
10. wget
11. unzip
```
### Arch Linux 使用 pacman 和 yay 安装依赖
```sh
sudo pacman -S fzf ripgrep xclip
yay -S nerd-fonts-fira-code
```
## 2. 使用本配置
```sh
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. 基本功能
### :necktie: 插件管理器 - lazy.nvim
**插件管理器地址**:[folke/lazy.nvim](https://github.com/folke/lazy.nvim)
### :wrench: lsp 支持 - nvim-lspconfig
**插件地址**:[neovim/nvim-lspconfig](https://github.com/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)

### :computer: 自动补全 - nvim-cmp
**插件地址**:[hrsh7th/nvim-cmp](https://github.com/hrsh7th/nvim-cmp)
| 快捷键 | 描述 |
| ------------------ | ---------------------------- |
| `ctrl` `n` | 向下高亮补全项 |
| `ctrl` `p` | 向上高亮补全项 |
| `ctrl` `j` | 代码片段跳到下一个标记处 |
| `ctrl` `k` | 代码片段跳到上一个标记处 |
| `enter` | 选择高亮的补全项 |
在 `lua/plugins/nvim-cmp.lua` 文件中可以修改配置。
Demo (click to expand)
内容补全
命令行补全
[ "/", "?" ] 查找补全

### :books: 代码片段 - luasnip
**插件地址**:[L3MON4D3/LuaSnip](https://github.com/L3MON4D3/LuaSnip)
在 `my-snippets/snippets` 目录下可以添加自定义的代码片段。
添加完成需要在 `my-snippets/package.json` 文件中引入自定义的代码片段。
Demo (click to expand)
代码片段的写法和 vscode 的代码片段的写法一样。

### :telescope: 模糊搜索 - telescope
**插件地址**:[nvim-telescope/telescope.vim](https://github.com/nvim-telescope/telescope.nvim)
| 快捷键 | 描述 |
|-----------------|-----------------------------------------|
| `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 文件中可以修改此插件的配置。
### :file_folder: 文件管理器 - nvim-tree
**插件地址**:[nvim-tree/nvim-tree.lua](https://github.com/nvim-tree/nvim-tree.lua)
| 快捷键 | 描述 |
|-----------------|------------------|
| `space` `e` `e` | 打开 `nvim-tree` |
| `q` | 退出 `nvim-tree` |
在 `lua/plugins/nvim-tree.lua` 文件中可以修改配置。
Demo (click to expand)

## 5. git 支持
### :pushpin: 显示 git 标记 - gitsigns
**插件地址**:[lewis6991/gitsigns.nvim](https://github.com/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)

### :koala: git 操作 - lazygit
**插件地址**:[kdheepak/lazygit.nvim](https://github.com/kdheepak/lazygit.nvim)
| 快捷键 | 描述 |
|-----------------|----------------|
| `space` `g` `g` | 打开 `lazygit` |
| `q` | 退出 `lazygit` |
在 `lua/plugins/lazygit.lua` 文件中可以修改配置。
Demo (click to expand)

## 6. Markdown 支持
### :pencil: 快速输入
在 `插入模式(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)

### :eyes: Markdown 预览 - markdown-preview
**插件地址**:[iamcco/markdown-preview.nvim](https://github.com/iamcco/markdown-preview.nvim)
| 快捷键 | 描述 |
| ----------- | ---------- |
| `shift` `r` | 打开预览 |
配置中使用 `microsoft-edge-beta` 浏览器作为预览工具。
在 `init.vim` 文件中可以找到关于 `markdown-preview` 的配置并修改。
Demo (click to expand)

### :straight_ruler: 表格模板 - vim-table-mode
**插件地址**:[dhruvasagar/vim-table-mode](https://github.com/dhruvasagar/vim-table-mode)
| 快捷键 | 描述 |
|-------------------|------------------|
| `alt` `shift` `t` | 启动表格模板 |
| `alt` `shift` `r` | 表格模板重新对齐 |
在 `init.vim` 文件中可以找到关于 `table-mode` 的配置并修改。
Demo (click to expand)

### :clipboard: 从剪贴板插入图片 - md-img-paste
**插件地址**:[ferrine/md-img-paste.vim](https://github.com/ferrine/md-img-paste.vim)
| 快捷键 | 描述 |
|-----------------|----------------|
| `space` `p` `i` | 输入图片的名称 |
在 `init.vim` 文件中可以找到关于 `md-img-paste` 的配置并修改。
Demo (click to expand)
