Vim一直学不会?试试这个 "真香" 神器
Vim 的使用,一直以来是一个难题
以至于国外的知名程序员问答社区 StackOverFlow 上有一个问题
How to I exit the Vim editor
获得了超过 200万次的浏览量
我们常说,学习是痛苦的,那有没有什么方法可以帮助我们更加轻松的学习 Vim 呢?
答案当然是肯定的。
我们可以通过玩游戏,来学习 Vim 的使用。
PacVim —— 一个让你通过玩游戏学习 Vim 命令的游戏
PacVim 来自 Github 开发者 Jamal Moon ,他为了帮助自己学习 vim,让学习曲线变得更加的平缓,开发出了这款游戏。
用开发者的话说,就是
Vim is a great tool to write and edit code, but many people, including me, struggled with the steep learning curve. I did not find a fun, free way to learn about the vim commands in-depth, and thus, PacVim was born.
Vim 很好,但是包括我,绝大多数的人都很难学会他,我希望找到一个愉快、轻松的方式深入的学习 vim 命令,PacVim 也因此诞生。
PacVim 是什么样的呢?
先看一个动图
在这个游戏中,你是有着蓝色光标的小绿人,逃脱红色自负的怪物 Monster (红色的 G,Ghost,鬼),和经典的吃豆人不同的是, PacVim 中的控制并不是我们习惯上的上下左右,而是 Vim 独有的键位。
PacVim 的键位
如何玩 PacVim ?
想要玩 PacVim ,有很多方式,最简单的是直接使用 Docker 镜像来运行。直接执行如下代码, 就可以启动 PacVim 来玩了
docker run -it freedomben/pacvim [LEVEL_NUMBER] [MODE]
上述代码中的 LEVELNumber 取值范围为 0 - 9,数字越大,难度越高。
Mode 可选 N 或 H,N 表示 Normal ,正常难度;H 则表示 Hard ,困难。
输入一条命令,就可以开始玩了。
如果你是 mac 用户,那你有福了,开发者已经将 PacVim 编译为 HomeBrew 的包,你只需要执行下面的命令,就可以安装了。
brew install pacvim
安装完成以后,执行 pacvim 8 n 这样的命令,就可以开始游戏啦!
Vim一直学不会?试试这个 "真香" 神器的更多相关文章
- 你只会用 StringBuilder?试试 StringJoiner,真香!
你只会用 StringBuilder/ StringBuffer 拼接字符串? 那你就 OUT 了!! 如果需要拼接分隔符的字符串,建议使用 Java 8 中的这款拼接神器:StringJoiner, ...
- 阿里神器 Seata 实现 TCC模式 解决分布式事务,真香!
今天这篇文章介绍一下Seata如何实现TCC事务模式,文章目录如下: 什么是TCC模式? TCC(Try Confirm Cancel)方案是一种应用层面侵入业务的两阶段提交.是目前最火的一种柔性事务 ...
- VSCode六大通用插件真香合集
目录 一.background:设置心水背景图 安利理由: 安装及设置步骤: 设置过程中使用的代码: 成果展示: 注意: 二.Material Theme(VSCode主题)+Material Ico ...
- JavaFX桌面应用-MVC模式开发,“真香”
使用mvc模块开发JavaFX桌面应用在JavaFX系列文章第一篇 JavaFX桌面应用开发-HelloWorld 已经提到过,这里单独整理使用mvc模式开发开发的流程. ~ JavaFX桌面应用开发 ...
- 从Eclipse切换到IDEA工具,哎~真香!
从Eclipse切换到IDEA工具,哎~真香!(图) 个人观点:IDEA工具用了就回不去了!!!对比很多人写,我就不赘述了.我在这里主要介绍一下IDEA工具的一些使用上的技巧,毕竟我开始学习java的 ...
- git 日常使用从入门到真香
目录 git 日常使用从入门到真香 一.Git简介 二.Git常用命令 三.git操作流程 四.报错处理 git 日常使用从入门到真香 一.Git简介 Git是一个开源的分布式版本控制系统,可以有效. ...
- 真香系列之 Golang 升级
Golang 以前的依赖管理一直饱受诟病,社区的方案也层出不穷,比如 vendor, glide, godep 等.之前的依赖管理一直是依靠 GOPATH 或者将依赖代码下载到本地,这种方式都有劣势. ...
- 真香的flex弹性布局
如何实现一个左中右的布局 在flex出现之前 #box{ color: white; } #left{ float: left; width: 30%; background-color: red; ...
- Chladni Figure CodeForces - 1162D (暴力,真香啊~)
Chladni Figure CodeForces - 1162D Inaka has a disc, the circumference of which is nn units. The circ ...
随机推荐
- mysql搭建多主一从源复制环境
问题描述:搭建过一主多从的环境,由于数据库数据一致性要求高,有些情景会搭建一主多从的架构,搭建多主一从的模式,相对来说适合数据整合,将多个业务的库整合到一起,方便做查询,也可以当做一个监控其他主库数据 ...
- Python数模笔记-Sklearn(4)线性回归
1.什么是线性回归? 回归分析(Regression analysis)是一种统计分析方法,研究自变量和因变量之间的定量关系.回归分析不仅包括建立数学模型并估计模型参数,检验数学模型的可信度,也包括利 ...
- 微信小程序支付功能完整流程
支付流程 整个支付流程分为四个步骤: 获取令牌token 创建订单 预支付,获取支付参数对象pay 发起微信支付 收尾工作.跳转到订单页面,删除购物车中已购买的商品 请求方式:POST 整个支付过程中 ...
- Nifi:初识nifi
写在前面: 第一次接触这一系统的时候,只有github上的一坨源码和官方的英文文档,用起来只能说是一步一个坑,一踩一个脚印,现在回想那段血泪史,只想 ***,现在用起来算是有了一些经验和总结,这里就做 ...
- 变量覆盖-高级篇(动态覆盖,extract综合)
0x00 原理 变量覆盖漏洞可以让用户定义的变量值覆盖原有程序变量,可控制原程序逻辑. 0x01 代码 <?php highlight_file('index.php'); function ...
- [刷题] PTA 7-61 找最长的字符串
程序: 1 #include<stdio.h> 2 #include<string.h> 3 #define N 81 4 5 int main() { 6 char ch[N ...
- ARM64平台编译stream、netperf出错解决办法 解决办法:指定编译平台为alpha [root@localhost netperf-2.6.0]# ./configure –build=alpha
ARM64平台编译stream.netperf出错解决办法 http://ilinuxkernel.com/?p=1738 stream编译出错信息: [root@localhost stream]# ...
- && echo suss! || echo failed
### && echo suss! || echo failed 加在bash后 ########ls /proc && echo suss! || echo fail ...
- CentOS 7 调整home大小
把/home内容备份,然后将/home文件系统所在的逻辑卷删除,扩大/root文件系统,新建/home: tar cvf /tmp/home.tar /home #备份/home umount /ho ...
- 7.12-7.19 id、w、who、last、lastb、lastlog
7.12-7.19 id.w.who.last.lastb.lastlog 目录 7.12 id:显示用户与用户组的信息 7.13 w:显示已登录用户信息 7.14 who:显示已登录用户信息 显示最 ...