# vimrc
**Repository Path**: feiyu66/vimrc
## Basic Information
- **Project Name**: vimrc
- **Description**: 使用的vimrc文件
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2020-12-10
- **Last Updated**: 2022-05-24
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
#
.vimrc配置文件
## 介绍
一个改自[theniceboy](https://github.com/theniceboy/nvim)和[KiteAB](https://github.com/KiteAB/nvim) 的自己使用的.vimrc文件。
* [安装](#安装)
* [快捷键](#快捷键)
- [1 基础编辑器特性](#1-基础编辑器特性)
+ [1.1 最基本的键位](#11-最基本的键位)
+ [1.2 增加了光标快速移动方式](#12-增加了光标快速移动方式)
+ [1.3 改变了插入模式的键位](#13-改变了插入模式的键位)
+ [1.4 添加的普通模式快捷键](#14-添加的普通模式快捷键)
+ [1.5 添加的底线命令模式快捷键](#15-添加的底线命令模式快捷键)
+ [1.6 窗口管理](#16-窗口管理)
+ [1.7 缓冲区管理](#17-缓冲区管理)
+ [1.8 功能键设置](#18-功能键设置)
* [插件快捷键](#插件快捷键)
- [自动补全](#自动补全)
+ [COC (自动补全)](#coc-自动补全)
- [删除等号`=`后的内容](#删除等号后的内容)
+ [vim-after-object](#vim-after-object)
- [注释](#注释)
+ [tcomment_vim](#tcomment_vim)
- [代码格式化排版](#代码格式化排版)
+ [vim-autoformat](#vim-autoformat)
- [Markdown](#markdown)
+ [vim-instant-markdown](#vim-instant-markdown)
+ [vim-table-mode](#vim-table-mode)
+ [vim-markdown-toc](#vim-markdown-toc)
+ [tabular](#tabular)
+ [md-img-paste.vim](#md-img-pastevim)
* [自定义代码片段补全](#自定义代码片段补全)
- [Markdown](#markdown-1)
## 安装
1. 在[gitee仓库](https://gitee.com/nwafu_nan/vimrc)下载或`git clone`仓库
2. 将`.vim`文件夹和`.vimrc`文件复制到`$HOME`目录下
3. 启动Vim
4. 在底线命令中执行`:PlugInstall`命令安装所有插件
5. 重新启动Vim
## 快捷键
### 1 基础编辑器特性
#### 1.1 最基本的键位
- **`Q`** : 退出当前 Vim 窗口 (在原版 Vim 中与命令 `:q` 相同)
- **`Ctrl``q`** : 推出所有Vim窗口 (在原版 Vim 中与命令 `:qa` 相同)
- **`S`** : 保存当前文件 (在原版 Vim 中与命令 `:w` 相同)
- **` `** 将LEADER键设置为空格
- **`;`** 用`;`代替底线命令模式的`:`
- \` 用 \` 代替大小写转换键`~`
- **`SPACE``r``c`** 打开~/.vimrc文件(在原版Vim中与命令`:e ~/.vimrc`相同)
#### 1.2 增加了光标快速移动方式
| 快捷键 | 行为 | 等于 (QWERTY 键盘布局中的哪些键) |
| ------------ | -------------------------------- | ---------------------------------- |
| `U` | 将光标向上移动五行 | `5k` |
| `E` | 将光标向下移动五行 | `5j` |
| `W` | 将光标移至五个单词后的末尾 | `5w` |
| `B` | 将光标移至五个单词前的开头 | `5b` |
| `Ctrl` `U` | 将视角向上移动五行而不移动光标 | `5``Ctrl` `y` |
| `Ctrl` `E` | 将视角向下移动五行而不移动光标 | `5``Ctrl` `e` |
#### 1.3 改变了插入模式的键位
| 快捷键 | 行为 | 等于 (QWERTY 键盘布局中的哪些键) |
| ------------ | ---------------------------------- | ---------------------------------- |
| `Ctrl` `a` | 将光标移至当前行的末尾 | `ESC``A` |
| `Ctrl` `f` | 将光标移至当前行的行首 | `ESC``0``` |
| `Ctrl` `u` | 将光标当前位置的字符移动至行尾 | `lx$p` |
#### 1.4 添加的普通模式快捷键
| 快捷键 | 行为 |
| ----------------- | -------------------------------- |
| `Y` | 复制当前至行尾的内容 |
| `<` | 减少缩进`<<` |
| `>` | 增加缩进`>>` |
| `SPACE` `` | 关闭搜索结果高亮显示 |
| `SPACE` `d` `w` | 寻找近处的重复单词 |
| `SPACE` `t` `t` | 普通模式下全局替换连续4个空格为Tab,可视模式下将选中行的连续4个空格替换为Tab |
| `SPACE` `o` | 折叠代码 |
| `\` `t` | 创建一个未命名新标签实例 |
| `SPACE` `/` | 在下文创建一个新终端窗口,用`exit`退出 |
| `SPACE` `SPACE` | 跳转到`<++>`标签并进行编辑 |
| `SPACE` `s` `c` | 开关拼写检查 |
| `\` `s` | 全局搜索命令的快捷健(`:%s//g`) |
| `SPACE` `r` | 根据文件类型执行终端命令 |
#### 1.5 添加的底线命令模式快捷键
| 快捷键 | 行为 |
| ----------------- | -------------------------------- |
| `Ctrl` `a` | `` |
| `Ctrl` `e` | `` |
| `Ctrl` `p` | `` |
| `Ctrl` `n` | `` |
| `Ctrl` `b` | `` |
| `Ctrl` `f` | `` |
| `M` `b` | `` |
| `M` `w` | `` |
#### 1.6 窗口管理
| 快捷键 | 行为 |
| -------- | ------------------------------ |
| `SPACE` `w` | 切换到下一个窗口 |
| `SPACE` `k` | 切换到上侧的窗口 |
| `SPACE` `j` | 切换到下侧的窗口 |
| `SPACE` `h` | 切换到左侧的窗口 |
| `SPACE` `l` | 切换到右侧的窗口 |
| `s` `k` | 向上切分窗口 |
| `s` `j` | 向下切分窗口 |
| `s` `h` | 向左切分窗口 |
| `s` `i` | 向右切分窗口 |
| `↑` | 活动窗口向上增加5行高度 |
| `↓` | 活动窗口向下减少5行高度 |
| `←` | 活动窗口向左减少5列宽度 |
| `→` | 活动窗口向右增加5列宽度 |
| `s` `u` | 窗口上下交换 |
| `s` `v` | 窗口左右交换 |
| `s` `r` `k` | 窗口正向轮换 |
| `s` `r` `h` | 窗口反向轮换 |
| `SPACE` `q` | 关闭当前窗口 |
#### 1.7 缓冲区管理
| 快捷键 | 行为 |
| ----------------- | -------------------------------- |
| `t` `l` | 列出当前缓冲区(`:ls`) |
| `t` `u` | 创建缓冲区(`:enew`) |
| `t` `i` | 下一个缓冲区(`:bnext`) |
| `t` `n` | 上一个缓冲区(`:bprevious`) |
| `t` `e` | 删除当前缓冲区(`:bdelete`) |
#### 1.8 功能键设置
| 功能键 | 行为 |
| ----------------- | -------------------------------- |
| `F10` | 代码折叠 |
## 插件快捷键
### 自动补全
#### [COC (自动补全)](https://github.com/neoclide/coc.nvim)
| 快捷键 | 行为 |
| ----------------- | -------------------- |
| `TAB` | 激活候选列表第1项并进行选择 |
| `SPACE` `y` | **打开剪切板历史** |
| `gd` | 列出定义列表 |
| `gy` | 转至类型定义 |
| `gi` | 转到函数等实现代码 |
| `gr` | 参考列表 |
| `SPACE` `r` `n` | 重命名变量 |
| `t` `t` | 打开文件浏览器 |
| `t` `s` | 翻译光标当前位置的单词 |
| `SPACE` `t` `n` | 创建TODO列表 |
| `SPACE` `t` `l` | 罗列TODO列表 |
| `SPACE` `t` `u` | 更新TODO列表 |
| `SPACE` `t` `s` | 罗列tasks列表 |
| `Ctrl` `l` | 召唤代码片段 |
| `Ctrl` `e` | 选择代码片段 |
### 删除等号`=`后的内容
#### [vim-after-object](https://github.com/junegunn/vim-after-object)
| 快捷键 | 行为 |
| ----------------- | -------------------- |
| `d` `a` `=` | 删除等号`=`后的内容 |
### 注释
#### [tcomment_vim](https://github.com/tomtom/tcomment_vim)
| 快捷键 | 行为 |
| ----------------- | -------------------- |
| `c` `n` | 普通模式或可视模式下添加注释 |
| `c` `u` | 普通模式或可视模式下删除注释 |
### 代码格式化排版
#### [vim-autoformat](https://github.com/Chiel92/vim-autoformat)
| 功能键 | 行为 |
| ----------------- | -------------------- |
| `F5` | 激活自动化排版操作 |
### Markdown
#### [vim-instant-markdown](https://github.com/suan/vim-instant-markdown)
| 快捷键 | 行为 |
| ----------------- | -------------------- |
| `SPACE` `r` | 激活Markdown预览 |
#### [vim-table-mode](https://github.com/dhruvasagar/vim-table-mode)
| 快捷键 | 行为 |
| ----------------- | -------------------- |
| `SPACE` `t` `m` | 激活Markdown表格输入 |
#### [vim-markdown-toc](https://github.com/mzlogin/vim-markdown-toc)
| 快捷键 | 行为 |
| ----------------- | -------------------- |
| `m` `t` | 生成Markdown目录 |
#### [tabular](https://github.com/godlygeek/tabular)
| 快捷键 | 行为 |
| ----------------- | -------------------- |
| `g` `a` | 可视模式下激活表格代码自动化排版操作,底线命令中添加\|进行格式化 |
#### [md-img-paste.vim](https://github.com/ferrine/md-img-paste.vim)
| 快捷键 | 行为 |
| ----------------- | -------------------- |
| `Ctrl` `p` | 基于系统粘贴板中的图像生成Markdown图片代码,并将图像存储到当前目录下的imgs文件夹(Linux下需要xclip支持) |
## 自定义代码片段补全
### Markdown
| 快捷键 | 创建的文字 |
| -------- | ------------------ |
| `,n` | --- |
| `,b` | **粗体**文字 |
| `,s` | ~~被划去~~的文字 |
| `,i` | *斜体*文字 |
| `,d` | `代码块` |
| `,c` | 大的 `代码块` |
| `,m` | - [ ] 清单 |
| `,p` | 图片 |
| `,a` | [链接]() |
| `,1` | # H1 |
| `,2` | ## H2 |
| `,3` | ### H3 |
| `,4` | #### H4 |
| `,l` | -------- |
| `,f` | 去往下一个 `<++>` (占位符) |
| `,w` | 去往下一个 `<++>` (占位符) 并帮你按下 `Enter` |