首页 > 其他分享 >免费畅玩VIM Adventures

免费畅玩VIM Adventures

时间:2024-07-15 10:12:10浏览次数:13  
标签:畅玩 静态 adventures Adventures vim https 网页 VIM com

免费畅玩VIM Adventures

1. 简介

VIM Adventures是一款用于学习VIM编辑器使用的在线网页端小游戏,通过这个游戏,我们能够快速掌握VIM的一些常用的基本命令,可谓是新手福音。

这款游戏有官方版本,官网:https://vim-adventures.com

但是在官方版本中,只有前三关是免费的,想要游玩之后的关卡需要购买证书,需要25美元,且只有6个月使用期。

由于价格对于很多学生党来说可能略高,而且在国内购买也不太方便,我选择寻找其他能够免费完整体验这个游戏的方法。

2. 免费畅玩

2.1. 开源项目

Github上曾有对该游戏进行逆向的项目,也有很多相关的folk项目,但这些项目都被游戏原作者要求下架了,这些项目现在要么显示takedown,要么就是404。

详情见:https://github.com/github/dmca/blob/fe3a3533c22817d674fec81fd4f814f7d3f187c2/2020/11/2020-11-12-VIMAdventures.md

因此现在Github上已经找不到相关的项目了。

使用互联网档案馆查找这些项目曾经的存档,目前能找到且源码还能下载的只有https://github.com/wattry/vim-adventures这个项目的归档:

https://web.archive.org/web/20201013182809/https://github.com/wattry/vim-adventures

该项目将VIM Adventures的核心代码逆向了出来,现在只需要将项目下载下来部署于本地,就可以游玩这个游戏的完整版本。

2.2. 使用方法简述

要想使用该项目,你需要将它部署在本地或者云端的服务器上。

原项目有打包好的可执行程序,设置一下环境变量,直接运行就能完成部署;也有完整源代码,需要配置好Nodejs环境,使用npm构建安装后才能使用。

另外,笔者又修改完善了该项目的代码和相关文件,就得到了两大修改后的新版本,一个是动态网页版,就是在原项目的基础上配置好了Nodejs的第三方库,只需要安装好Nodejs即可运行;另外一个版本是静态网页版,无须配置Nodejs环境,托管在静态服务器上即可运行。

Vim Adventures是可以保存和加载游戏进度的,原项目版本和笔者的动态网页版可以将游戏进度数据保存在服务器上;而静态网页版会将游戏进度数据保存在浏览器,只需要将一些资源文件放在静态服务器上就能运行,部署最方便。

由于移动端没有自带键盘,原版的VIM Adventures只能在PC端上的浏览器游玩,除非为移动端接上外接键盘,否则无法直接在移动端浏览器上使用,笔者为解决这一问题又针对移动端浏览器修改制作了兼容移动端的静态网页版,这一版本主要是为移动端添加了js虚拟键盘,详见下文的静态网页版部署。

如果你已经迫不及待想玩到这个游戏,笔者也将修改后的兼容移动端的静态网页版托管在了InfinityFree上,供大家免费游玩:

http://vim-adventures.free.nf

由于这个托管服务是免费的,游戏进度可能因托管服务失效而丢失,因此建议部署在自己的服务器上。

接下来介绍这三个版本的部署方式。其中第一种原项目直接部署和第三种静态网页部署的方法最简单,成本最低。

2.3. 原项目部署

原项目归档地址:https://web.archive.org/web/20201013182647/https://github.com/wattry/vim-adventures

原项目有2种部署方式,一种是直接下载打包好的程序,配置一下环境变量然后运行即可完成直接部署,最简单快捷;还有一种是下载源码并配置好nodejs环境,构建安装进行部署。

该项目的文件可以通过如下方法获取:

打开项目的Releases页面进行下载:https://web.archive.org/web/20201013182809/https://github.com/wattry/vim-adventures/releases/tag/v1.1.0

如果上述链接无法打开,可以使用直链下载:https://file.uhsea.com/2406/ac137c49d039e2c25d5ce932f112ceffKZ.zip

直链备用链接:https://files.catbox.moe/chq283.zip

具体需要用到哪些文件见下文。

2.3.1. 方法一:直接部署

1. 下载打包好的程序

根据自己的系统选择对应的程序,这里以Windows系统举例,需要下载vim-adventures-win.exe,那么需要从Releases页面下载该程序,或者从直链下载得到的压缩包中找到该程序。

2. 设置环境变量

主要设置APP_DIRPORT两个环境变量,前者用于指定游戏存档数据的保存位置,后者用于指定服务器监听的端口,有两种设置方法:

(1)方法一:

在程序运行前用命令行命令设置环境变量,比如在Windows下:

set APP_DIR=%USERPROFILE%\vim-adventures
set PORT=80

那么会将游戏存档保存在用户主目录的vim-adventures目录下,设监听端口为80。

(2)方法二:

在程序的同级目录下新建一个名为.env的文件,在该文件中写入如下内容:

APP_DIR=$HOME/vim-adventures
PORT=80

作用同上。

3. 运行程序

2.3.2. 方法二:源码构建部署

从源码构建打包得到游戏服务端程序。

1. 下载并安装nodejs

https://nodejs.org/en/download

这里使用14.21.3版本,其他版本在接下来进行构建时可能会报错。

2. 下载项目源代码

从Releases页面选择Source Code(tar.gz)下载,或在直链下载压缩包中找到vim-adventures-1.1.0.tar.gz

下载完后解压缩

3. 进入工作目录

项目的根目录是vim-adventures-1.1.0,我们需要进入到项目根目录中的vim-adventures目录

cd vim-adventures-1.1.0

4. 设置环境变量

编辑项目根目录下的.env文件:

HOST=http://localhost
# NodeJS default location
APP_DIR=$HOME/vim-adventures
APP_NAME=vim-adventures
PORT=80

APP_DIR设置存放最终打包得到的程序的目录,需要设为绝对路径,APP_NAME设置输出的程序名称,可以根据需要自行设置。PORT设置端口。

5. 构建安装

npm run setup

完成后会在APP_DIR目录下生成名为APP_NAME的程序,比如在Windows下使用上述设置会在用户主目录的vim-adventures文件夹下生成vim-adventures.exe程序。

另外,在APP_DIR目录下也会生成一个.env文件,修改该中文件PORT的值或使用命令行命令设置环境变量PORT可以设置端口。

6. 运行

直接运行vim-adventures.exe程序即可运行,浏览器打开127.0.0.1就可以免费游玩了。

2.3.3. 其他方法

归档项目的主页有讲到使用docker部署的方法。

2.4. 动态网页部署

部署方法和上文中的原项目从源码构建部署方法相同,需要下载Nodejs,但不需要进行第4步构建安装的过程,避免了构建安装过程中可能出现的报错。

1. 安装Nodejs

2. 下载动态网页版文件vim-adventures-dynamic.zip

https://fs-im-kefu.7moor-fs1.com/ly/4d2c3f00-7d4c-11e5-af15-41bf63ae4ea0/1711900467773/vim-adventures-dynamic.zip

下载完后解压缩

3. 进入工作目录

cd vim-adventures-dynamic

4. 运行

node bin/www.js

5. 端口和文件保存路径设置同原项目部署方法

2.5. 静态网页部署

这里你需要一个静态服务器,例如nginx和apache,或者托管在免费的静态网站上,比如InfinityFree。这里以python示例:

1. 下载安装python

在windows下要将python添加到环境变量

2. 下载静态网页版文件

在这里,笔者根据不同的需求又制作了3个不同的静态网页版本,大家可以根据自己的需求下载相应的版本:

(1)仅支持PC的静态网页版

仅支持PC端,无须联网从CDN加载资源文件

https://fs-im-kefu.7moor-fs1.com/ly/4d2c3f00-7d4c-11e5-af15-41bf63ae4ea0/1712227832585/vim-adventures-full-static.zip

(2)兼容移动端的静态网页版

兼容移动端和PC端浏览器,不兼容平板,需要联网从CDN加载资源文件

https://fs-im-kefu.7moor-fs1.com/ly/4d2c3f00-7d4c-11e5-af15-41bf63ae4ea0/1712227832962/vim-adventures-static-mobile.zip

(3)兼容移动端的完全静态网页版

兼容移动端和PC端浏览器,不兼容平板,所有资源文件均托管于静态服务器上,可以部署于独立的局域网,无须访问互联网也可正常游玩

https://fs-im-kefu.7moor-fs1.com/ly/4d2c3f00-7d4c-11e5-af15-41bf63ae4ea0/1712227832777/vim-adventures-full-static-mobile.zip

下载完后解压缩

3. 进入工作目录

4. 运行服务器

python -m http.server 80

这里设为80端口,浏览器打开127.0.0.1即可游玩

注意,静态网页版会将游戏进度数据保存在浏览器,如果浏览器数据清空,那么游戏进度也会清空。

3. 简单上手

游戏进度管理

1. 保存进度

:w filename

可以将当前游戏进度以文件形式保存,并将其命名为filename

2. 显示已有存档

:!ls

可以列出已保存的游戏进度

3. 载入存档

:e filename

可以载入名为filename的存档

4. 删除存档

:!rm filename

可以删除名为filename的存档

5. 载入指定关卡

:level n

直接载入第n关,这样的话即使没有保存进度也不用从第一关开始打了

其他相关的命令信息都可以在游戏界面的左下方找到。

4. 相关链接

标签:畅玩,静态,adventures,Adventures,vim,https,网页,VIM,com
From: https://www.cnblogs.com/kiradiana/p/18302552

相关文章

  • Linux Vim最全面的教程
    前言Vim是一款强大的文本编辑器,广泛用于Linux系统中。其强大的功能和灵活的配置使得它成为许多开发者和系统管理员的首选工具。本文旨在提供一份最全面的Vim教程,帮助你从基础到高级,全面掌握这款编辑器。目录Vim简介Vim的安装基本操作常用命令高级功能配置Vim插件管理实用......
  • nvim 基本使用
    安装nvim安装从https://github.com/neovim/neovim/releases下载最新稳定版,当前的LTS版本为0.10.0解压后将bin目录加入环境变量即可字体选择从https://www.nerdfonts.com/选择一个字体,安装可参考:ubuntu基本操作我选择的字体是:参考资料从零开始配置Neovim(Nv......
  • Vim:最受欢迎的编辑器之一
    目录前言1.Vim的基本情况1.1Vim的起源与发展1.2Vim的工作模式2.Vim受欢迎的原因2.1强大的功能2.1.1丰富的快捷键2.1.2高度可定制化2.1.3强大的插件系统2.2使用方便性2.2.1跨平台支持2.2.2轻量级和高效2.2.3离线操作3.Vim与其他编辑器的比较3.1与现代ID......
  • Vim使用教程
    目录引言1.Vim的基本概念1.1模式1.2启动和退出2.基础操作2.1导航2.2插入文本2.3删除和复制2.4查找和替换3.高级功能3.1多文件编辑3.2宏录制和执行3.3使用插件3.4自定义快捷键4.Vim脚本和自定义配置4.1基本配置4.2编写Vim脚本5.实用技巧5.1快速移动......
  • vim内置erm的使用及实现
    intro在使用vim的时候,一个非常常用的功能就是搜索功能。搜索在缺少工程级别搜索的情况下,搜索通常不是一次完成的:通常的场景是提供一个最明显的关键字(并且忽略大小写),然后从结果中再缩小搜索范围,直到找到搜索结果。在这个迭代的过程中,可能需要从上次的输出中拷贝一部分、简单编......
  • vim命令总结
    vim命令1、touch创建文件2、vim或vi编辑文件3、vim文件名4、vim编辑器共分为三种模式:(1)命令模式esc或ctrl+c(2)编辑模式按i键(3)底层命令模式先进入命令模式=shift+:=输入命令5、快捷键(1)enter键换行(2)backspce退格键,删除光标前一......
  • [Tools] VIm cheat sheet
    vimcheatsheetKeepthishandyasyouexperimentwithvim:http://www.fprintf.net/vimCheatSheet.htmlHereisanotherguidethatcoversthecommandsincrementally:http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/ movingaround-hjkl......
  • ros环境搭建及vim-plug插件安装
    1.Ubutun安装20.04(原因:ros环境搭建教程及报错解决方法参考资料最多);2.Ubutun20.04ros环境搭建及安装包参考教程:【安装】Ubuntu20.04下安装ROS的完整过程(内含已装好ROS的虚拟机、虚拟机创建过程、ROS安装过程及全过程录屏)_ros虚拟机现成的-CSDN博客(感谢无私作出奉献的前辈们);3.ros......
  • 理解 Linux 文件权限(2)& vim编辑器
    1、如何理解文件权限1)查看文件• 想要理解文件权限,需要先从查看文件入手•使用ls–l命令查看Linux系统上的文件、目录和设备的权限①对象的类型②文件属性③目录/链接个数④所有者(owner)⑤组(group)⑥文件大小⑦最后修改的日期⑧文件名其中:• ①代表了对象的类型:......
  • [oeasy]python024_vim读取文件_从头复制到尾_撤销_重做_reg_寄存器
    Guido的简历......