我们都知道,Vim 是 Linux 下一种非常重要的文本编辑器,我们可以用它来看代码、改代码,很多高手直接将 Vim 打造成一款强大的 IDE 用来写代码。

但是,对于新手而言,Vim 相对于其它编辑器而言,更难入门。Vim 是无图形界面的编辑器,一切操作全靠指令,而且指令又非常多非常杂,学习起来非常费劲。

那有没更快更轻松的方法来学习 Vim 呢?这里良许介绍一款游戏,通过这款游戏就可以提高 Vim 操作技能。

这款游戏叫 PacVim ,它其实是受一款叫 PacMan (中文名:吃豆人)的游戏的启发而开发出来。二者非常相似,都是躲避怪物,吃完豆豆。所不同的是,PacVim 全程使用 Vim 的指令来操作主角,通过这种方式来提高你的 Vim 水平。

安装 PacVim 游戏

这款游戏源码托管在 GitHub 上,只需下载后编译安装即可。

$ git clone https://github.com/jmoon018/PacVim.git
$ cd PacVim
$ sudo make install

启动游戏

安装成功后,可执行以下命令来启动游戏:

$ pacvim [LEVEL_NUMER] [MODE]

其中:

  • LEVEL_NUMER:表示关卡号
  • MODE:表示难度,n - 正式模式,h - 困难模式

例如,我们要玩第 5 关,正式模式的游戏,我们可以这样启动游戏:

$ pacvim 5 n

而如果我们仅仅想从头开始玩游戏,则只需这样:

$ pacvim

下图是游戏运行后的情况:

游戏看起来还是挺好玩的,至少比单纯去记那些命令要强很多。

退出游戏

游戏的退出很简单,只需按下 ESC 或者 q 即可。

游戏规则

如前文所述,游戏的基本规则就是躲避怪物,吃完豆豆。但这里面,豆豆是一个个白色单词,你在经过时,一个个字符就会变成绿色。

在游戏里,主角是一个绿色方块,怪物是大写红色字母 G 。有两种障碍物:

  1. 黄颜色的是代表墙壁,你不能越过墙壁;
  2. 青色的飘号键 ~ ,它不会攻击你,但你也不能碰它,一碰你就挂。

你一共有 3 条命,但在通过第 0,3,6,9 关时,会额外奖励一条生命。游戏一共 10 关,从 0 ~ 9,通过第 9 关后,将重新从第 0 关开始,但难度加大。

a. 胜利的条件

操作绿色方块,将白色字符变成绿色字符,当所有的白色字符都变成绿色时,你就赢了那一关,进入到下一关。全程操作使用 Vim 命令。

b. 失败的条件

如果你碰到了怪物(大写字母 G)或飘号键 ~ ,你就挂了,失去一条生命。当所有生命都失去时,游戏就结束了。

既然是用来学习 Vim 操作的,那我们肯定要知道 Vim 有哪一些指令。常用指令如下图:

通过这个游戏,在紧张和压力下,你的 Vim 命令不知不觉就记住了,后面再去操作 Vim 编辑器时,简直会运指如飞!一起来玩玩吧!


公众号:良许Linux

有收获?希望老铁们来个三连击,给更多的人看到这篇文章

寓教于乐!一款游戏让你成为 Vim 高手!的更多相关文章

  1. 怎么样cocos2d-x正在使用ECS(实体-包裹-制)建筑方法来开发一款游戏?

    简介 在我的博客,我翻译的几篇文章ECS文章.这些文章都是从Game Development站点.假设你对这个架构方式还不是非常了解的话.欢迎阅读理解 组件-实体-系统和实现 组件-实体-系统. 我发 ...

  2. cocos2d 15款游戏源码

    https://blog.csdn.net/jailman/article/details/78678972

  3. Vim高手,从来不用鼠标

    Vim脱离鼠标第一步 平时不可缺少的会用到vim,但是避免不了鼠标,事实上,省略鼠标是完全可以的,没有想像中那么难,看我短短几行带大家一起省略鼠标. 对了,vim有三种模式,基本模式就是用来输入命令的 ...

  4. Vim高手,从来不用鼠标2——替换、撤销、缩进、查找

    本文章原创首发于公众号:编程三分钟 vim 替换.撤销.缩进.查找 上一次我们掌握了移动.跳转.定位.操作(删除.复制.粘贴),基本使用vim脱离鼠标完全是可以做到的了.速记如下: 移动: h,l,j ...

  5. 强力推荐!五款能让你成为Excel“高手”的Excel插件

    excel是大家日常生活中经常用到一款表格软件,虽然软件本身的功能已经非常齐全了,但是插件可以进一步加强软件的功能,为用户提供更好的体验,提高工作效率,需要的用户快来看看吧. 1.Smartbi 首推 ...

  6. 让你忘记 Flash 的15款精彩 HTML5 游戏

    HTML5 游戏开发是一个热门的话题,开发人员和设计人员最近经常谈论到.虽然不能迅速取代 Flash 的地位,但是 HTML5 凭借它的开放性和强大的编程能力,取代 Flash 是必然的趋势.你会看到 ...

  7. 2016年 最火的 15 款 HTML5 游戏引擎

    HTML5游戏从2014年Egret引擎开发的神经猫引爆朋友圈之后,就开始一发不可收拾,今年<传奇世界>更是突破流水2000万!从两年多的发展来看,游戏开发变得越来越复杂,需要制作各种炫丽 ...

  8. (转)HTML5游戏如何挣钱?2条经验让你每款赚3万刀

    原文作者:Alexander Krug,是世界上最大的HTML5游戏平台的运营商SOFTGAMES的CEO. 现今苹果App Store当中的应用数量可以以海量来形容,最新发布的应用对排行榜的冲击力也 ...

  9. 盘点20款表现出众的HTML5游戏

    不管是对用户还是开发者来说,HTML5和JavaScript游戏这几年的发展真的是件好事.随着浏览器平台的日趋成熟,并开始整合这类型游戏所 要求的技术,我们每天都能在各大应用商店和社交网站中看到越来越 ...

随机推荐

  1. 【JAVA习题六】输入两个正整数m和n,求其最大公约数

    import java.util.Scanner; public class Oujilide欧几里得 { public static void main(String[] args) { // TO ...

  2. [Android应用开发] 03.网络编程

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

  3. 最小生成树——Prim算法理解

    背景:本文是在小甲鱼数据结构教学视频中的代码的基础上,添加详细注释而完成的.该段代码并不完整,仅摘录了核心算法部分,结合自己的思考,谈谈理解. Prim算法理解: 如图(摘录自小甲鱼教学视频中的图片) ...

  4. kubeadm实现k8s高可用集群环境部署与配置

    高可用架构 k8s集群的高可用实际是k8s各核心组件的高可用,这里使用主备模式,架构如下: 主备模式高可用架构说明: 核心组件 高可用模式 高可用实现方式 apiserver 主备 keepalive ...

  5. Rocket - decode - Inst Decode

    https://mp.weixin.qq.com/s/WvepB3yAzjMbQalO3Z82pQ   介绍RocketChip Instruction解码逻辑的实现.   1. RISC-V   R ...

  6. python常见面试题讲解(十三)字串的连接最长路径查找

    输入描述: 输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母. 输出描述: 数据输出n行,输出结果为按照字典序排列的字符串. 示例1 ...

  7. HTML元素跟随鼠标一起移动,网页中回到顶部按钮的实现

    对象跟随鼠标: 1.对象css设置绝对定位position: absolute; 2.获取鼠标坐标: 3.通过鼠标坐标计算出对象坐标位置,并设置为css定位的位置: document.onmousem ...

  8. 第九届蓝桥杯JavaC组决(国)赛真题

    1:年龄问题 s夫人一向很神秘.这会儿有人问起她的年龄,她想了想说: "20年前,我丈夫的年龄刚好是我的2倍,而现在他的年龄刚好是我的1.5倍". 你能算出s夫人现在的年龄吗? 这 ...

  9. Java实现有理数的循环节

    1/7 = 0.142857142- 是个无限循环小数. 任何有理数都可以表示为无限循环小数的形式. 本题目要求即是:给出一个数字的循环小数表示法. 例如: 输入: 1,5 则输出: 0.2 输入: ...

  10. java实现第六届蓝桥杯密文搜索

    密文搜索 福尔摩斯从X星收到一份资料,全部是小写字母组成. 他的助手提供了另一份资料:许多长度为8的密码列表. 福尔摩斯发现,这些密码是被打乱后隐藏在先前那份资料中的. 请你编写一个程序,从第一份资料 ...