入门介绍

Vim-Adventures是一个让初学者练习如何使用 Vim 的小游戏。它一共有 TODO 个 关卡,每个关卡都对应不同的 Vim 练习。一进网页我们可以看到这个画面:

点进去后就自动来到我们的第一关啦!

游戏里默认你是处于 Vim 中的 Normal模式。

  • 左下角的第一个 给了游戏进度处理的命令。
  • 第二个 给了你当前关卡需要用到的 Vim 操作键位,按下对应按键会给出提示,按esc退出提示。
  • 第三个 ‍♂️ 提示你使用 :login来进行登录,以使用 :w 保存游戏进度。需要注意的是,想要保存游戏进度需要购买一个网站的账号。
  • 第四个 显示游戏数据统计画面,具体显示你在关卡用了多长时间,用了多少步等。
  • 后面的blabla...不重要啦!!

Level1 移动训练

第一关的意义在于训练你在 Vim 的Normal模式下对光标移动的熟练度。

按下h, j, k, l四个键来分别进行光标左,下,上,右的移动。

使用 :help命令来获取对应按键的帮助。

  • 左上角的宝箱在第一关是暂时无法只使用上下左右键通过的。

  • 后面遇到的斜坡需要看npc的提示来通过:

    这个小朋友说的东西翻译过来是:

    向上或向下移动到一条较短的线(即进入水中)会将您移动到较短的线中的最后一列,但如果您继续移动到较长的线,您将在开始时所在的同一列结束!

    提示解释了 Vim 在使用 j, k 键换行时的跳转特性,即在参差不齐的行之间跳转时,光标会以开始跳转时所在的位置为终点线,每次跳转都尽可能地去靠近终点线。下图就是不同位置产生的不同跳转路线:

    通过三个斜坡,就需要在三个位置进行跳转:

    最后就可以顺利到达第一关终点。

Level2 词跳转

词跳转: w (下一个词), b (词初), e (词尾),输入 :help + <key> 来获取详细帮助。

第二关我们的目的很明显,收集三个按键,三把钥匙。注意三把钥匙是用来开第三关的,先不着急回第一关开宝箱。

我们需要在这一关做的,是收集按键解锁按键功能后使用它们来进行词与词之间的跳转,此时石头就再也无法阻挡我们的脚步。小人给出的提示解释了 Vim 中对WORD的定义:

A word is a sequence of letters, digits and underscores, or a sequece of punctuation marks, or an empty line.

单词是字母、数字和下划线的序列,或者是标点符号的序列,或者是空行。

Level3 删除

在这一关,我们需要做的是:

  • 在30秒内利用w, e, b进行词跳转获取x按键

  • 利用x按键进行对标红字符的删除

  • 回第一关开宝箱

一开始不熟练的话会很头痛,跳得很慢很慢,但发现了一个技巧就是we键轮换着不停地按,能很快跳到最后!

然后回去删除标红字符,搞定后捡起爆出来的钥匙回第一关开宝箱~!

到达宝箱处时要注意,使用b跳转是不行的,要使用大写B跳转:

最后开启宝箱..音效和画面多少有点哈人了

后面的关卡

呃呃,想玩后面的关卡就给我狠狠地爆米!免费的部分到这里也就结束了,解锁后续内容需要购买一个价值25美刀的账号..而且只能用六个月..但不得不说这小游戏还是可以的!

后续内容有前辈搞过了,就放个链接好了:https://zhuanlan.zhihu.com/p/165254171

希望能早日用熟练 Vim, 赶紧出狱不坐牢~

最新文章

  1. Oracle Sales Cloud:管理沙盒(定制化)小细节2——使用对象触发器更新数字字段
  2. ios电话/密码/验证码/身份证的正则表达式
  3. IOS第17天(1,Quartz2D图片水印)
  4. IOS第15天(3,事件处理,手势处理)
  5. java 模拟消息的发送功能
  6. ubuntu14.04 and ros indigo install kinect driver--16
  7. 理解Javascript参数中的arguments对象
  8. Centos7下安装iF.svnadmin实现web方式管理svn(源码安装)
  9. 纯css+js水平时间轴
  10. 使用Vitamio打造自己的Android万能播放器(7)——在线播放(下载视频)
  11. Php函数完整参考手册
  12. SQLite3创建数据库的方法
  13. Java NIO Channel通道
  14. 解释下面URL
  15. SATA主机协议的FPGA实现之物理层设计
  16. 选择J2EE的SSH框架的理由
  17. Python全栈-数据库存储引擎
  18. java 8 更优雅的判断是否为空
  19. 【C++对象模型】第二章 构造函数语意学
  20. 【PyQt】插入排序算法

热门文章

  1. WSL下的Ubuntu 18.04LTS配置软件源和系统更新
  2. nydusd 源码理解(一)
  3. 【devexpress】spinEdit控件如何设置只能输入两位小数
  4. win 10 玩红警/黑边,不能全屏,闪退
  5. 4 c++编程-提高篇-STL简介
  6. SerialException:Cannot configure port something went wrong
  7. 关于最新版本listen1 (2.1.6)的修改心得(添加下载功能)
  8. VulnHub靶机渗透实战9-vikings
  9. 1.2 Hadoop简介-hadoop-最全最完整的保姆级的java大数据学习资料
  10. python字符串常用方法介绍,基于python3.10