Post on October 11, 2024
· 4183 words
· reading time 4 min
一份全面的 Neovim 操作指南,包含常用快捷键、光标移动、文本编辑等核心功能。
neovim
常用快捷键
分类 | 命令 | 说明 | 使用频率 |
---|
光标移动(基础) | | | |
| h/j/k/l | 左/下/上/右移动 | ★★★★★ |
| w/b | 向前/后移动一个单词 | ★★★★★ |
| 0/$ | 移动到行首/行尾 | ★★★★★ |
| gg/G | 文件首/尾 | ★★★★★ |
| f{char} | 向后查找字符 | ★★★★★ |
| t{char} | 向后查找字符前 | ★★★★☆ |
| ^ | 行首第一个非空字符 | ★★★★☆ |
分类 | 快捷键 | 模式 | 功能 | 使用频率 |
---|
基础移动 | h,j,k,l | 普通 | 左、下、上、右 | ★★★★★ |
单词移动 | w | 普通 | 下一个单词开头 | ★★★★★ |
| b | 普通 | 上一个单词开头 | ★★★★★ |
| e | 普通 | 单词结尾 | ★★★★ |
行移动 | 0 | 普通 | 行首 | ★★★★★ |
| $ | 普通 | 行尾 | ★★★★★ |
| ^ | 普通 | 第一个非空白字符 | ★★★★ |
光标移动(进阶) | | | |
---|
| {/} | 段落跳转 | ★★★★☆ |
| H/M/L | 屏幕顶/中/底 | ★★★★☆ |
| <C-u>/<C-d> | 上/下翻半页 | ★★★★☆ |
| % | 匹配括号跳转 | ★★★★☆ |
| */# | 向后/前查找当前单词 | ★★★★☆ |
在 Vim 的普通模式下,如果想将当前光标滚动到页面的中间位置,可以使用以下命令:
zz
这个命令会将光标所在的行滚动到窗口的中间。其他相关的命令还有:
zt
:将光标所在行滚动到窗口的顶部。zb
:将光标所在行滚动到窗口的底部。
折叠
- 折叠代码块:
zf
- 打开折叠:
zo
- 关闭折叠:
zc
- 折叠所有:
zM
- 打开所有:
zR
Operator
许多更改文本的命令都是由 操作符(Neovim Operator 操作指南) 和 动作(motion) 组成的。
带有 d
删除操作符的删除命令的格式如下:
d motion
d
- is the delete operator.motion
- is what the operator will operate on (listed below).
A short list of motions:
w
- 直到下一个单词的开头,不包括其第一个字符.
e
- 到当前单词的结尾,包括最后一个字符.
$
- 到行尾,包括最后一个字符。
大多数命令前可以加数字表示重复次数,如 3w
向前跳3个单词
命令可以组合使用,如 d3w
删除后面3个单词
编辑操作 | | | | |
---|
| i/a | 光标前/后插入 | ★★★★★ | |
| A | 在行尾开始添加 | ★★★★★ | |
| o/O | 下/上新建一行并插入 | ★★★★★ | |
| dw | 删除当前单词 | ★★★★★ | |
| d$ | 从此处删除到行尾 | ★★★★★ | |
| dd | 删除当前行 | ★★★★★ | |
| yy | 复制当前行 | ★★★★★ | |
| p/P | 后/前粘贴 | ★★★★★ | |
| u | 撤销 | ★★★★★ | |
| <C-r> | 重做 | ★★★★☆ | |
分类 | 快捷键 | 模式 | 功能 | 使用频率 |
---|
插入 | i | 普通 | 光标前插入 | ★★★★★ |
| a | 普通 | 光标后插入 | ★★★★★ |
| o | 普通 | 下方新建一行 | ★★★★★ |
删除 | dd | 普通 | 删除整行 | ★★★★★ |
| dw | 普通 | 删除单词 | ★★★★ |
| x | 普通 | 删除字符 | ★★★★ |
文本对象 | | | | |
---|
| diw | 删除当前单词 | ★★★★★ | |
| ci" | 修改引号中的内容 | ★★★★★ | |
| da( | 删除括号及其内容 | ★★★★☆ | |
| yi{ | 复制大括号中内容 | ★★★★☆ | |
| vib | 选择括号中内容 | ★★★★☆ | |
文件和缓冲区导航
分类 | 快捷键 | 模式 | 功能 | 使用频率 |
---|
缓冲区切换 | :bnext | 命令 | 下一个缓冲区 | ★★★★ |
| :bprevious | 命令 | 上一个缓冲区 | ★★★★ |
文件搜索 | <leader>ff | 普通 | 查找文件 | ★★★★★ |
| <leader>fg | 普通 | 实时文本搜索 | ★★★★★ |
Neovim(Vim) 中的文件操作 | | | | |
分类 | 快捷键 | 模式 | 功能 | 使用频率 |
---|
查找替换 | :%s/old/new/g | 命令 | 全局查找替换 | ★★★★★ |
可视模式 | v | 普通 | 进入可视模式 | ★★★★★ |
| V | 普通 | 选择整行 | ★★★★ |
多行操作 | | | |
---|
| V | 行选择模式 | ★★★★★ |
| <C-v> | 块选择模式 | ★★★★☆ |
| >> | 增加缩进 | ★★★★☆ |
| << | 减少缩进 | ★★★★☆ |
- 可视模式:
v
(字符), V
(行), Ctrl+v
(块) - 重复上一次普通模式命令:
.
- 撤销:
u
- 重做:
Ctrl+r
- 跳转到行首:
0
- 跳转到行尾:
$
- 跳转到匹配的括号:
%
- 进入插入模式:
i
(前), a
(后), o
(下), O
(上)
搜索替换 | | | |
---|
| /pattern | 向后搜索 | ★★★★★ |
| ?pattern | 向前搜索 | ★★★★☆ |
| n/N | 下/上一个匹配 | ★★★★★ |
| :%s/old/new/g | 全文替换 | ★★★★☆ |
| :s/old/new/g | 当前行替换 | ★★★★☆ |
文件操作 | | | | |
---|
| :w | 保存文件 | ★★★★★ | |
| :q | 退出 | ★★★★★ | |
| :e file | 打开文件 | ★★★★☆ | |
| :bn/:bp | 下/上一个缓冲区 | ★★★★☆ | |
Telescope操作 | | | |
---|
| <leader>ff | 查找文件 | ★★★★★ |
| <leader>fg | 全局搜索 | ★★★★★ |
| <leader>fb | 缓冲区列表 | ★★★★☆ |
| <leader>fh | 搜索历史文件 | ★★★★☆ |
LSP操作 | | | |
---|
| gd | 转到定义 | ★★★★★ |
| gr | 查看引用 | ★★★★★ |
| K | 查看文档 | ★★★★☆ |
| <leader>rn | 重命名 | ★★★★☆ |
| <leader>ca | 代码操作 | ★★★★☆ |
窗口操作 | | | |
---|
| <C-w>v | 垂直分割 | ★★★★☆ |
| <C-w>s | 水平分割 | ★★★★☆ |
| <C-w>h/j/k/l | 窗口间移动 | ★★★★★ |
| <C-w>c | 关闭当前窗口 | ★★★★☆ |
- 水平分割窗口:
:split
或 :sp
- 垂直分割窗口:
:vsplit
或 :vs
- 在窗口间切换:
Ctrl+w + h/j/k/l
- 关闭窗口:
Ctrl+w + c
- 最大化窗口:
Ctrl+w + =
补充说明:
<leader>
默认是 \
键,很多人改成空格键- 大多数命令前可以加数字表示重复次数,如
3w
向前跳3个单词 - 命令可以组合使用,如
d3w
删除后面3个单词 - 频率评分:★★★★★ 表示必会且频繁使用,★★★★☆ 表示建议掌握
建议学习路径:
- 先掌握基础光标移动和编辑操作
- 熟练文本对象操作
- 学习搜索替换和文件操作
- 掌握进阶移动和标记跳转
- 最后是插件相关的快捷键
Neovim 中最essential的文本编辑、导航和开发快捷键,并按使用频率进行了排序
Neovim 文本编辑和导航快捷键
- 自定义
<leader>
键以加快常用命令的访问, 默认是 \
- 使用
:help <命令>
获取详细命令帮助 - 考虑安装 which-key.nvim 插件帮助记忆快捷键
推荐的 Neovim Go 开发插件:
插件名称 | 主要功能 | 推荐理由 |
---|
go.nvim | Go 语言开发全面支持 | 提供最新和最全面的 Go 开发工具集 |
nvim-lspconfig | 语言服务器协议配置 | 提供智能代码补全、实时错误检查 |
null-ls.nvim | 外部工具集成 | 无缝集成 gofmt、golangci-lint 等工具 |
nvim-treesitter | 语法高亮和解析 | 提供更智能的代码语法分析 |
telescope.nvim | 模糊搜索工具 | 强大的文件和代码搜索能力 |
trouble.nvim | 诊断信息展示 | 清晰展示代码错误和警告 |
mason.nvim | 开发工具管理 | 轻松管理 LSP 和开发工具 |
gitsigns.nvim | Git 集成 | 行级 Git 状态展示 |
VIM mode 快捷键
以下是 Vim 各模式下最有效和最常用的快捷键集合:
普通模式(Normal Mode)快捷键
类别 | 快捷键 | 功能描述 | 使用频率 |
---|
光标移动 | h,j,k,l | 左、下、上、右移动 | ★★★★★ |
| w | 下一个单词开头 | ★★★★★ |
| b | 上一个单词开头 | ★★★★★ |
| 0 | 行首 | ★★★★★ |
| $ | 行尾 | ★★★★★ |
编辑操作 | dd | 删除整行 | ★★★★★ |
| yy | 复制整行 | ★★★★ |
| p | 粘贴 | ★★★★ |
| u | 撤销 | ★★★★★ |
| Ctrl + r | 重做 | ★★★★ |
插入模式(Insert Mode)快捷键
类别 | 快捷键 | 功能描述 | 使用频率 |
---|
插入位置 | i | 光标前插入 | ★★★★★ |
| a | 光标后插入 | ★★★★★ |
| o | 下方新建一行并插入 | ★★★★★ |
| O | 上方新建一行并插入 | ★★★★ |
特殊插入 | Esc | 返回普通模式 | ★★★★★ |
| Ctrl + h | 删除前一个字符 | ★★★ |
| Ctrl + w | 删除前一个单词 | ★★★ |
可视模式(Visual Mode)快捷键
类别 | 快捷键 | 功能描述 | 使用频率 |
---|
选择模式 | v | 字符级可视模式 | ★★★★★ |
| V | 行级可视模式 | ★★★★★ |
| Ctrl + v | 块级可视模式 | ★★★★ |
编辑操作 | y | 复制选中内容 | ★★★★ |
| d | 删除选中内容 | ★★★★ |
| c | 修改选中内容 | ★★★ |
命令模式(Command Mode)快捷键
类别 | 快捷键 | 功能描述 | 使用频率 |
---|
文件操作 | :w | 保存文件 | ★★★★★ |
| :q | 退出 | ★★★★★ |
| :wq | 保存并退出 | ★★★★★ |
查找替换 | :%s/old/new/g | 全局查找替换 | ★★★★ |
其他 | :set nu | 显示行号 | ★★★ |
| :e filename | 打开文件 | ★★★ |
高级快捷键
类别 | 快捷键 | 功能描述 | 使用频率 |
---|
文本对象 | diw | 删除当前单词 | ★★★★ |
| ci( | 修改括号内容 | ★★★ |
| ya{ | 复制大括号内所有内容 | ★★★ |
跳转 | gg | 跳转到文件开头 | ★★★★ |
| G | 跳转到文件结尾 | ★★★★ |
- 记住这些快捷键需要大量实践
- 可以逐步学习,不必一次性记住所有快捷键
- 建议使用
vimtutor
进行系统学习 vim
- 可以考虑使用 Vim 插件来增强快捷键功能
Post on October 11, 2024
· 667 words