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 ...
随机推荐
- JAVA连接、操作数据库的DBHelper
工厂模式的DBHelper 1 import java.sql.Connection; 2 import java.sql.DriverManager; 3 import java.sql.Prepa ...
- 数据库调优(二)Inner Join Merge Join Hash Match
T-SQL 的编码习惯以及规范,影响的是查询优化器对执行计划的选择 健壮的SQL语句,更稳定.更高效 SELECT 几个部分: - 查询的数据来自什么表 - 需要查询表中哪些字段 (尽量不使用类似于 ...
- utf8字符集下的比较规则
前言: 在MySQL中,比较常用的字符集是utf8和utf8mb4.这两个字符集是类似的,utf8是utf8mb3的别名,所以之后在MySQL中提到utf8就意味着使用1~3个字节来表示一个字符,如果 ...
- [bug] eclipse 点击new菜单后没有新建java project或class选项
参考 https://blog.csdn.net/u013001763/article/details/54405758
- [Python] 爬虫系统与数据处理实战 Part.1 静态网页
爬虫技术基础 HTTP/HTTPS(7层):应用层,浏览器 SSL:加密层,传输层.应用层之间 TCP/IP(4层):传输层 数据在传输过程中是加密的,浏览器显示的是解密后的数据,对爬虫没有影响 中间 ...
- GCC链接时库顺序问题
GCC或G++在编译链接时,如果命令行中含有库,则要特别注意了.根据<C专家编程>5.3节中的提示,GCC在链接时对命令行时的处理顺序是从左到右.证据是GCC的MAN: -l librar ...
- mysql集群无法启动成功
场景:两台数据库运行一段时间后发现集群挂了,一台服务正常,一台不正常. 日志如下: [ERROR] InnoDB: Attempted to open a previously opened tabl ...
- C++ Error 个人笔记(live)
1.error: invalid conversion from 'char' to 'char*' [-fpermissive] 原因: 把一个字符型的变量赋值给了一个字符型的指针 我的原因: 把 ...
- Java 运行 Jar 包中java -cp 与 java jar 的区别
java -cp java -cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库和jar包,需要全路径到jar包,多个jar包之间连接符:window上分号"; ...
- 8.5-7 mkfs、dumpe2fs、resize2fs
8.5 mkfs:创建Linux文件系统 mkfs命令用于在指定的设备(或硬盘分区等)上创建格式化并创建文件系统,fdisk和parted等分区工具相当于建房的人,把房子(硬盘),分成几居室( ...