我们都知道,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. 05 . 前端之BootStrap

    BootStrap简介 Bootstrap是美国Twitter公司的设计师Mark Otto和Jacob Thornton合作基于HTML.CSS.JavaScript 开发的简洁.直观.强悍的前端开 ...

  2. 01 . RabbitMQ简介及部署

    RabbitMQ简介 ​ MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它 ...

  3. Linux题目

    1.删除某目录下所有文件,只保留指定文件. 例:假设/abc文件夹下有a1.a2....a10文件,保留a5和a6文件,其他全部删除 [root@localhost abc]# touch a{1.. ...

  4. 附021.Traefik-ingress部署及使用

    一 Helm部署 1.1 获取资源 [root@master01 ~]# mkdir ingress [root@master01 ~]# cd ingress/ [root@master01 ing ...

  5. Rocket - tilelink - toBools

    https://mp.weixin.qq.com/s/UGMH8EoaVcFkkQW-l4HLWg   分析toBools在Intellij中显示为红色的问题.   ​​   1. 问题   在TLA ...

  6. jchdl - RTL Event

    https://mp.weixin.qq.com/s/P9uoJwIYdM-mbiR9WCtJCg   hardware modeling基于事件驱动模型,RTL中定义了多种事件. jchdl 参考了 ...

  7. jchdl - RTL实例 - AndAnd

    https://mp.weixin.qq.com/s/JhUB3M1WhjAyUrN1HPIPTA   AndAnd是三输入与门模块,输出为相与的结果.   参考链接 https://github.c ...

  8. 【Springboot HBase】遇到的一些问题

    想要运行的代码需要在application中运行 使用@Component并实现CommandLineRunner接口.重写方法@Override run( ) @Component public c ...

  9. Vue父子组件传值以及父调子方法、子调父方法

    稍微总结了一下Vue中父子间传值以及相互调方法的问题,非常基础.希望可以帮到你!先来个最常用的,直接上代码: 1.父传值给子组件 父组件: <template> <div> & ...

  10. Java实现 蓝桥杯VIP 算法提高 密码锁

    算法提高 题目 2 密码锁 时间限制:1.0s 内存限制:1.0GB 问题描述 你获得了一个据说是古代玛雅人制作的箱子.你非常想打开箱子看看里面有什么东西,但是不幸的是,正如所有故事里一样,神秘的箱子 ...