Neovim记录
7 min
1. 快捷键
1.1 方向移动
| 功能 | 按键 | 方向 | 说明 |
|---|---|---|---|
| 切换光标 | H | ⬅ | 光标左移 |
| J | ⬇ | 光标下移 | |
| K | ⬆ | 光标上移 | |
| L | ⮕ | 光标右移 | |
| 切换焦点 Ctrl | H | ⬅ | 焦点左移 |
| J | ⬇ | 焦点下移 | |
| K | ⬆ | 焦点上移 | |
| L | ⮕ | 焦点右移 | |
| 不同文件间切换 Shift | H | ⬅ | 切换到上一个文件 |
| L | ⮕ | 切换到下一个文件 |
1.2 调出终端
Ctrl + /
1.3 WhichKey
按下space弹出提示待输入子命令
1.4 显示隐藏文件
Shift + H
WARNING此快捷键在不同的界面起到的作用不同:显示 hidden files/ 切换不同 tabs
1.5 调出 Cmdline
Shift + : 管理插件输入:LazyExtras
1.6 关闭当前文件
space + b+d
TIP实际上在 Neovim 中的每个文件都是 buffer,所以此处:
- b: buffer
- d: delete
1.7 返回文件顶部
gg
2. Coding 快捷键
NOTE个人觉得要区分在不同的模式下的快捷键哪个更顺手,目前感觉更习惯
INSERT下的一系列操作。
2.1 快捷移动
2.1.1 切换光标:以单词为单位进行移动
INSERT 编辑模式
在插入或编辑文本时,可使用以下组合键快速移动光标,无需切换回
NORMAL模式。
- 光标移动:
- Shift + H → 光标左移 ⬅
- Shift + J → 光标下移 ⬇
- Shift + K → 光标上移 ⬆
- Shift + L → 光标右移 ⮕
NORMAL 普通模式
在普通模式下,可以使用更丰富的命令进行高效导航和跳转。
按词移动
- w :向后移动,跳转到下一个单词的开头。
- b :向前移动,跳转到当前或上一个单词的开头。
行内查找 (
f)- 按下 f 后,再输入你想要查找的单个字符,光标会立即跳转至该字符在当前行的下一个匹配位置。
- 重复查找:
- f :正向重复上一次的查找,跳转到下一个匹配项。
- Shift + F :反向重复上一次的查找,跳转到上一个匹配项。
前缀跳转 (
s)- 这是一个强大的跳转功能,通过输入单词前缀来快速定位。
- 使用方法:
- 按下 s 键。
- 输入目标单词的前缀 (例如,输入
co来查找command)。 - 此时,所有匹配该前缀的单词都会被高亮,并且每个高亮处都会被分配一个临时的快捷字母。
- 只需按下对应的字母,即可瞬间跳转到你想要的位置。
2.1.2 快捷跳转
1. 前缀智能跳转 (s)
这是一个极其高效的跳转方式,通过输入单词的开头几个字符来快速定位。
使用流程:
- 按下 s 键。
- 输入你想要查找的字符或前缀。
- 此时,所有符合条件的字符组合都会被高亮,并且每个位置会被随机分配一个快捷字母。
- 只需按下对应的字母,即可瞬间跳转到指定位置。
2. 相对行号跳转
无需开启行号显示,即可在当前行的基础上进行快速向上或向下跳转。
使用方法:
- 向下跳转:
<行数>+ j - 向上跳转:
<行数>+ k
示例假如当前光标位于第 4 行,想要跳转到第 11 行,则需向下移动 7 行。
操作:按下 7 然后再按 j。
3. 错误/诊断信息跳转
在代码中快速定位LSP(语言服务器协议)检测到的错误或警告信息。
- ] + e :跳转到 下一个 错误/警告 ⬇
- [ + e :跳转到 上一个 错误/警告 ⬆
2.1.3 移动文件末尾
Shift + g
2.2 跳转函数 gd
鼠标点选到指定函数处 + gd
TIPgd: go to definition
2.3 调整缩进
- 增加缩进: >>
- 减少缩进: <<
2.4 删除单词
- 单纯删除: dw / diw
- 删除后进入
INSERT: cw / ciw
TIP
iw的会删除整个单词,单w的只会删除当前光标所在位置到末尾的部分。
2.5 撤销相关
- 撤销:u
- 重做被撤销的操作: Crtl + r
2.6 行选择模式
Shift + V
TIP
- 进入行选择模式,然后使用方向键移动到指定行;
- 同时可以配合相对跳转快速多选多行。
2.7 快捷注释 gc
gc
TIPc: comment
2.8 保存
- :wq
- Ctrl + s
3. fzf 用法
3.1 文件查找
按下两次空格进入文件查找页面便可进行模糊搜索:
使用 Ctrl + H ⬅ J ⬇ K ⬆ L ⮕ 来切换文件选定