📚 文稿库

Vim 屠龙术 - 光标魔法,灵活飘逸,指哪打哪

介绍 Neovim 高频实用的光标移动技巧,涵盖基础操作、插件应用及 LSP 跳转,旨在提升编程效率。

UP主: 风痕di-didi-- · 时长: 4:27 · 🔗 B站原视频

标签: Vim · Neovim · 效率工具 · 编程技巧 · 开发环境

Vim 封神的原因与基础操作

Vim 之所以封神,最直接的原因是它移动光标的速度远高于鼠标。今天这期视频我总结了 Neovim 中最高频、最实用的光标移动技巧。闪现都只能算基础技能,更有时间穿梭、传送、飞雷神等高级魔法免费传授。掌握这些,体验 Vim 的灵活飘逸,指哪打哪。视频魔法浓度极高,如果你是 Vimmer,建议看视频时打开编辑器。话不多说,我们直接开始。首先是最基础也最难的第一步,拒绝鼠标和方向键,使用 HJKL 来控制上下左右。先别急着放弃 Vim,我们马上学习高级魔法。

跨窗口闪现:flash.nvim 插件

按下 S 闪现到任意位置。你看,按下 S 输入你想去的字符,屏幕上会高亮并生成几个字母标签,按下对应字母,光标直接闪现过去。再来一次,先按下 S,再按下目标字母,最后按下高亮字母。最强的是它支持跨窗口移动,无论你开了几个分屏,只要眼球能看到光标就能瞬间到达。这是我目前用过最快的跳转方式。使用闪现技能,需要安装 flash.nvim 插件。从配置可以看到,我给闪现技能配置的快捷键是 S。

远距离传送:原生 Vim 跳转

除了使用插件闪现到目标字符,Neovim 在关键位置都建设了传送阵,让你可随时远距离传送。比如按两次 G 键传送到文件开头,大写 G 传送到文件结尾。聪明的你肯定想到了如何复制整个文件的内容:gg 传送到文件开头,y 开始复制,大写 G 复制到文件结束。

语义级移动:LSP 与中括号跳转

写代码不仅仅是处理文本,更是处理逻辑。利用 LSP 服务,我们可以进行语义级移动。gd 跳转符号定义,gr 查看所有引用当前符号的代码。另外,右中括号加 E 跳转下一个语法错误,反过来,左中括号加 E 跳转上一个语法错误,用来快速查看修复错误。类似的还有中括号加 C 可以跳转 Git 变更点,这在 review 代码时简直是神迹。当然你还可以使用中括号跳函数、方法、参数,万物皆可中括号。

复杂逻辑调试:书签传送点

当我们在分析那种几千行的复杂逻辑,需要在 A 处、B 处、C 处反复横跳调试时,我们就需要自己动手创建传送点,其实就是传说中的书签啦。原生 Vim 的 Mark 稍微有点隐晦,我推荐配合 marks.nvim 插件。按下 M 加分号就可以创建一个传送点了,配置快捷键 M 加逗号、句号快速在上一个、下一个书签之间传送。如果书签打多了,还可以用 Leader sm 调出书签列表,在列表中进行切换。

时间回溯:光标位置的前进与后退

见识过闪现和传送魔法的威力,想必你对时间魔法会更有兴趣。当你的光标在代码森林中穿梭跳跃,想回到刚才编辑的地方,千万别小小的往回翻,使用回溯技能才是不迷路的正确操作。直接按 Ctrl+O 回到上一个光标位置,按 Ctrl+I 前进到较新的光标位置。在阅读或编辑大型项目源码时,Ctrl+O 或者 Ctrl+I 就是你的面包屑导航。再演示一次,Ctrl+O 后退,Ctrl+I 前进。

总结与融会贯通

最后总结一下基础移动:用 HJKL 精准定位,用 flash 插件逻辑跳转,用 gd 光标遍历,用中括号应对复杂场景,靠书签把这些技巧融入到你的肌肉记忆里。你会发现手指在键盘飞舞,光标跟上思路就是自由的感觉。记住,单一技能只能炫技,融会贯通才能成为真正的强者。如果你觉得这些技巧有用,别忘了点赞、关注、分享,我们下期见。

On this page