最近,有一个 GitHub 开源项目引发了众人的关注。
这是一个名叫 markview.nvim 的插件,作为高度定制化的 Neovim markdown 预览器,Star 量已有 1900 个。
乍看起来似乎有点平平无奇,炸裂的是它的研发背景:全部 2.5 万行代码竟然都是作者用手机敲出来的。
手机敲代码?兄弟你太猛了,能出来让大家认识认识吗?
图中对话出现在一个 issue 里面(已解决了),项目作者 OXY2DEV 说自己没法在手机上正确的测试,Reddit 帖子的楼主说那我来吧。楼主转念一想,问道:不是哥们,这是临时不方便,还是你在告诉我,你已经在一部手机上完整开发了这个插件,我怎么感觉是后者?
如果是这样,我也必须加把劲了,这是一种什么层次的奉献精神啊!
OXY2DEV 答道:不好意思,全部 24461 行(如果只算代码的话大约 18K 行)都是手机打字完成的。他还谦虚了一下,说其中约 6000 行仅用于存储数学符号、数学字体、HTML 实体等。
做项目这么大的决心,不禁让人感叹。
现在,OXY2DEV 开发的“markview.nvim”项目星标量已经达到 1.9K:
项目地址:https://github.com/OXY2DEV/markview.nvim
这是一个基于热门编辑器 neovim 的插件,包含 Markdown 渲染器、HTML 渲染器、LaTeX 渲染器。
回到那个 Reddit 帖子,消息一出,网友们纷纷表示震惊,直呼想要给他送个电脑。
网友:绷不住了,谁来送他个笔记本电脑吧?要不我们发动一场募捐?
发帖人在 Reddit 上 cue 了 OXY2DEV:“希望你不会对这个提议感到不快,这是你感兴趣的事情吗?”
对方(在 Reddit 上的网名是 Exciting_Majesty2005)回复道:那可太谢谢了,然而在没有银行卡的情况下,我没法把你们捐的美元转换成本国货币。我还没有身份证,所以我不能开设自己的账户。数字支付这里也是没有的。
除了这些问题之外,我所在的地方硬件价格过高(毕竟第三世界国家)。所以,你们最终会为普通硬件花费过高价格。
此外,如果我设法进入了一所好大学,那么我显然会买一台笔记本电脑。只是现在还没有而已。
所以,真的没有必要为此筹集资金。
网友们惊掉了下巴:什么你说你还没上大学?
有人问:那你什么时候申请大学?如果你已经在开发流行的插件,我想北美、欧洲的大多数计算机科学系都会很高兴给 offer。也许,用户社区可以写一封推荐信?
OXY2DE 回复道,大学申请应该是在明年 3 月。我将首先参加医学院考试,如果我没有通过,那么我就会上大学。在这里,尝试获得计算机科学专业的 offer 是一种赌博,分数太高或是太低都没戏。总之事情很复杂。
看起来想要帮助这位新星开发者,网友们还面临着一些挑战,不过在后续的讨论中渐渐有了眉目。
另外对于用手机编程这一做法,有很多人感到好奇。不过,OXY2DE 并不是唯一一个选择这样做的。有网友分享了自己在手机上的编程经验,这位网友表示自己曾经在 Termux ( 一款基于 Android 平台的开源 Linux 终端模拟器)上使用 ACode 或 NeoVim 来编写程序,并且使用 Termux 和 NeoVim 可以获得 PyDroid 提供的所有功能,而无需每月订阅。
还有网友好奇在手机上敲代码会不会经常出现拼写错误。OXY2DE 表示“他的准确率大约为 60-70%,但由于使用了具有补全能力的 nvim-cmp,所以也可以使用它来修复拼写错误。此外,编程语言的所有关键字都是非常通用的词,因此随着时间的推移,拼写错误会越来越少。”
还有网友建议将蓝牙键盘连接到 Android 设备上进行编程,这样效果也不错,该网友还推荐了一款名为 iClever BK-05 的蓝牙键盘,不用时可以折叠起来,非常方便。
对此,OXY2DE 表示有些文件非常庞大,很容易让 Neovim 变得缓慢。因此他不得不禁用 LSP、自动补全、Tree-sitter 和语法高亮,只是为了让它不卡顿。在某种程度上,无法绕过硬件的限制。
还有人感慨道:如今 99.99% 的人都依赖先进的工具来完成工作,而这位学生却在用手机做着这些事情。难以置信,简直太疯狂了。
“不知那些需要机械键盘才能敲代码的人感想如何?”
markview.nvim 项目作者 OXY2DEV 的真名是 Mouinul Hossain,是一名来自孟加拉国的高中生,自称喜欢编程和电子设备。他在空闲时间制作 Neovim 插件,有时还会制作一些基本的网站。
OXY2DEV 小小年纪就有了使用 Lua、C、Javascript 和 Sass 语言的经验。此外,他还有一些使用 Bash 的经验。不过可能是因为生活条件有限,或是其他什么原因:他表示自己现在只有智能手机、没有电脑,所以是在 neovim 跟 Termux 中完成这所有工作的。
看起来,OXY2DEV 在努力为开源社区做出贡献的同时,开源社区也在回报他。在 Reddit 帖子里甚至有人推荐他来申请新加坡国立大学,这让一直以来想要学医的他有了更多的思考。
几天前,OXY2DEV 终于决定开启一个募捐项目。“根据其他人的建议,我决定捐款买一台笔记本电脑。”
据说他在 10 个小时内就筹集到了 2300 美元。
这就是开源社区的力量。