- 运行nvim查看nvim的标准配置文件路径
:echo stdpath('config')
$path - 将项目clone至 $path 目录中(注意备份好自己的配置)
- nvim中运行
PlugInstall
命令,然后等待
找不到命令
PlugInstall
原因:vim-plug 没自动加载, 我是chocolatey安装的neovim要把plug.vim放到C:/tools/neovim/Neovim/share/nvim/runtime/autoload中去
.
├── config
│ ├── common.vimrc -- 通用的基础配置
│ ├── key.vimrc -- 快捷键相关配置
│ └── plug.vimrc -- 插件相关的配置
├── colors
│ └── ... -- 高亮主题文件
├── lua
│ └── ... -- 部分lua配置项(treesitter)
├── autoload
│ └── plug.vim -- vim-plug 插件管理工具
├── ftplugin
│ └── ... -- 按文件类型的自定义设置
├── plugged
│ └── ... -- 插件的存放目录
├── snippets -- 自定义的snippets补全存放目录
├── file_logs
│ └── ... -- 文件修改记录log目录
├── init.vim -- 配置文件的总入口
├── coc-settings.json -- coc的相关配置
└── README.md
不额外说明了,有需要直接看 ./config/common.vimrc 的注释
模式 | 键 | 说明 |
---|---|---|
normal | ; | : |
normal | + | 数字自增 |
normal | _ | 数字自减 |
normal | , | 重复上一次宏操作 |
normal | ctrl - j | 从, 处打断当前行 |
normal | \ | 清除当前搜索词高亮 |
normal | backspace | 删除当前词并插入 |
insert | ctrl - h(backspace) | 删除内容置词首 |
insert | ctrl - z | 撤销最后修改并退出编辑 |
command | ctrl - a | Home |
command | ctrl - e | End |
all | ctrl - s | 进入替换模式 |
normal | S | save |
normal | W | close |
normal | Q | quit |
normal | R | 重载配置 |
insert | jj | esc |
normal | >> | 将代码块右移 |
visual | << | 将代码块左移 |
visual | > or tab | 将代码块右移 |
visual | < or shift-tab | 将代码块左移 |
all | shift - 方向 | 选中文本(类似于在其他编辑器的体验) |
all | ctrl - shift + 方向 | 快速移动 |
all | ctrl - u | 清空本行 |
all | alt - up/down | 上下移动当前行/块 |
all | alt - o | 下方新起一行 |
all | alt - O | 上方新起一行 |
normal | su | 左右分屏 |
normal | sc | 关闭当前窗口 |
normal | so | 关闭其他所有窗口 |
normal | s - left or right | 聚焦到对应窗口 |
normal | s= | 将窗口大小置为相同 |
normal | s, | 窗口减小 |
normal | s. | 窗口增大 |
normal | ss | 切换到下个buffer |
normal | sp | 切换到上个buffer |
all | alt - left or right | 左右跳转buffer |
all | F5 | 一键运行当前文件 |
normal | -- | 折叠/反折叠 |
visual | - | 折叠选中内容 |
normal | space | 在行首 第一个非空字符 行尾 跳转 |
normal | = | 格式化当前行 |
visual | = | 格式化选中内容 |
PS: 如果需要格式化js和ts代码,请手动安装: npm i js-beautify -g
Plug 'yianwillis/vimcdoc' -- 中文vim help文档
Plug 'terryma/vim-expand-region' -- 快速选中文本插件
Plug 'lfv89/vim-interestingwords' -- 高亮关键词插件
Plug 'mg979/vim-visual-multi' -- 虚拟多光标插件
Plug 'pangloss/vim-javascript' -- js语法高亮插件
Plug 'iamcco/markdown-preview.nvim' -- md 预览插件
Plug 'mzlogin/vim-markdown-toc' -- md 生成目录
Plug 'neoclide/coc.nvim' -- coc
Plug 'voldikss/vim-floaterm' -- 悬浮终端插件
Plug 'tpope/vim-dadbod' -- 数据库可视化工具
Plug 'kristijanhusak/vim-dadbod-ui' -- 数据库可视化工具
Plug 'junegunn/fzf.vim' -- 文本/文件搜索插件
Plug 'nvim-treesitter/nvim-treesitter'-- 文本分析插件
Plug 'yaocccc/nvim-lines.lua' -- 自己写的状态栏/标签栏插件
Plug 'yaocccc/vim-surround' -- 自己写的快速操作({["'`等的插件
Plug 'yaocccc/vim-comment' -- 自己写的快速注释插件
Plug 'yaocccc/vim-hlchunk' -- 朋友那拿的高亮代码块行号插件
v 扩展 visual 范围 例如我经常用的 vv 选中当前词,vvv选中"xxx"内的内容
V 缩小 sisual 范围ff 高亮当前词(如果光标在高亮的词上可以用n/N跳转) 再次ff取消高亮
FF 取消全部高亮词建议到对应的仓库看一下
ctrl + up or down, 上下行添加光标(normal模式)(可用w e b $ ^ t f等等操作)
ctrl + left or right, 左右添加选中(visual模式)(可用w e b $ ^ t f等等操作)
tab 在 normal 和 visual 模式下切换
ctrl + d 选中全部当前词
ctrl + x 当前位置添加光标
ctrl + w 当前词首添加光标
q 取消当前光标F5 在浏览器预览markdown
:GenTocGFM
建议到对应的仓库看一下
全局的插件列表 let g:coc_global_extensions=[...] 按需添加
coc 通用快捷键tab/s-tab 上下 选择候选项
gd 跳转到定义
gy 跳转到类型
K 查看文档
ctrl-e 显示错误列表
F2 重命名
F4 关闭/开启 coc部分自用的插件的快捷键
mm 翻译当前词
T 开始coc-explorer文件管理器窗口 ( or ) 跳转到上下 git 修改
C 展示 git commit or change info
leader - g 开启临时 git blame 显示ctrl - t 打开关闭 浮动终端
ctrl - b 打开关闭 浮动数据库可视化工具(依赖于 tpope/vim-dadbod)
ctrl - f 打开关闭 浮动rangertpope/vim-dadbod
kristijanhusak/vim-dadbod-ui:DBUI 来使用 数据库可视化工具
添加链接: let g:dbs = [{ 'name': 'connection_name', 'url': 'mysql://user:password@host:port' }]
注意 url内的东西需要url_encode注意要配合ag使用,请自己手动安装: the_silver_searcher fd bat
ctrl - a 全局文本搜索
ctrl - l 当前文件文本搜索
ctrl - p 全局文件搜索
ctrl - h 历史文件搜索
ctrl - g git变更文件搜索
ctrl - / 关闭/开启previewyaocccc/...
建议到对应的仓库看一下
采用默认配置即可
visual模式下 '"
({[]}) 会用对应的符号将选中区域包裹起来 normal模式下 ys + '"
({[]}) 会用对应的符号将当前词包裹起来
normal模式下 yS + '"({[]}) 会用对应的符号将当前行包裹起来 normal模式下 ds + '"
({[]}) 会删除离光标最近的符号
normal模式下 cs + 符号1 + 符号2 会将 最近的 符号1 改为 符号2normal模式下 ?? 行注释/反注释当前行
visual模式下 / 行注释/反注释当前块
visual模式下 ? 块注释/反注释当前块用类似以下的au添加你需要添加signcolumn提示的文件类型
autocmd CursorMoved,CursorMovedI,TextChanged,TextChangedI,TextChangedP .ts,.js,.go,.c,*.json call HlChunk()