您的位置: 首页 >互联网 >

设置iPad进行编码是我作为计算机用户的最大壮举

2019-05-15 17:51:58 编辑: 来源:
导读 几个月前,我详细介绍了设置Pixelbook进行编码的过程。这不容易,简单或直截了当,但它最终有效:我拥有Linux的所有功能和灵活性,访问我最

几个月前,我详细介绍了设置Pixelbook进行编码的过程。这不容易,简单或直截了当,但它最终有效:我拥有Linux的所有功能和灵活性,访问我最喜欢的代码编辑器(VS Code),当然还有Chromebook的光滑网页浏览体验众所周知的。

我试图建立一个iPad进行编码。我悲惨地失败了。我喜欢用iPad写作和其他创意作品。它超级便携,具有出色的电池寿命,出色的屏幕,有限的多任务使我保持专注。不幸的是,它对于复杂的任务来说非常糟糕,并且故意在软件开发方面瘫痪。

但是我现在变老了,并且在整个星期六花了我的头撞墙后,我很高兴地报告说我可以用799美元的平板电脑来编写软件。我是否真的会将它用于此目的?也许!但我们会做到这一点。

如果您也希望在iPad上编码,请随意跟随我的脚步。我不能向你保证这是一个值得去的目的地,但我在途中学到了很多东西。

众所周知,Apple害怕任何人都可能在其原始的iOS设备上运行任意代码。这有点道理:iOS和App Store的限制使得多年前的iPad比同样年龄的MacBook Pro更具响应性和无懈可击。

但这使得开发软件几乎不可能。具有讽刺意味的是,iPad在很多方面都非常适合创作者,如绘画,设计和音乐。引擎盖下是相同的Unix内核,它使macOS非常适合程序员。

无论如何,你知道这一切。

与Pixelbook不同,我想要一个基本可与我的Mac设置相媲美的完整Rust开发环境,我决定在我的iPad上进行一些基于JavaScript的Web开发。

我知道要去的地方:CodeSandbox。这是一个网站,一切都在浏览器中运行。因此,iPad无法阻止我实现用JavaScript创建“计算器2:计算器续集”网络应用程序的梦想。

CodeSandbox允许您使用任意NPM包,它有一个基于VS Code自己的编辑器的代码编辑器。因此,只要您坚持使用JavaScript世界,它就像传统的基于桌面的Web开发设置一样强大。CodeSandbox还打破了配置文件的一些粗糙边缘,并且有许多使用各种技术构建的预制项目(React,Vue,Redux,甚至像Hyperapp这样的奇特框架),这使得很容易开始使用超级复杂的构建现代Web开发似乎需要的链。

我很兴奋地看到CodeSandbox有一个Vim模式。Vim键绑定是我浏览文本的首选方式,在没有鼠标帮助的iPad上尤为重要。移动光标,突出显示文本,删除文字或线条,移动线条以及在文件中跳远距离都需要在Vim中进行几次击键。与iPad的替代品相比:用笨拙的手指在屏幕上戳了几秒钟,希望iOS能够辨别出你的意图。

基本上,一切都很顺利。CodeSandbox就是我所需要的,我的iPad突然变成了一个非常有用的webdev盒子 - 至少是为了构建我所倾向的小型实验。

除了有一个问题:iPad没有Escape键。

在Vim中,有不同的“模式”。在默认模式下,您可以使用键盘在文档中导航。有选择模式,您可以使用相同的导航键选择文本。而且,重要的是,有一个插入模式,您可以使用键盘进行键入。由于您需要退出插入模式以再次移动光标,因此需要某种命令才能退出插入模式。默认情况下,该命令连接到Escape键。

许多Vim用户(比如我自己)会映射一个像“jj”这样的花哨的键组合,以便让退出的插入模式更容易,但CodeSandbox实际上并不是Vim。它只是模仿Vim的一些默认键绑定。所以我需要一个Escape键。iPad甚至不知道这意味着什么。

我是认真的!起初,我认为这只是苹果公司自己的智能键盘盖的问题,它没有功能行和Escape键。所以我拿出一个普通的蓝牙键盘并将它连接到iPad上。我卡在逃生钥匙上......没什么。在iOS的世界里,没有逃脱。

我在绝望的状态下浏览StackExchange和各种GitHub问题。是的,有一些方法可以使用“Ctrl + [,” 模拟Escape按键,但在这种情况下我没有任何帮助。在我的余生中,我陷入了插入模式。

CodeSandbox,你带我这么近!

实际上,基于CodeSandbox的快速迭代,如果他们在不久的将来解决了这个问题我也不会感到惊讶。

但与此同时:男孩要做什么?

我第一次尝试设置iPad进行编码时,我自然而然地直接进入了云端。但云并不是一个神奇的地方,所有的梦想都会成真。在Digital Ocean或Google Cloud上设置devbox需要一些Linux和SSH知识,并且当您的命令行技能失败时,没有GUI Linux界面可供使用。

为什么以前这么难?

奇怪的是,我上次尝试云设备设置时散落的知识碎片就是我需要快速完成所有工作。我在Digital Ocean上支付了5美元的基本款,在其上安装了一个干净的Ubuntu,并提供了我在Panic的Prompt应用程序中生成的SSH密钥,这是一个适用于iOS的SSH终端模拟器。为什么以前这么难?

在SSH进入我的数字海洋盒后,我开始添加我需要的工具。我安装了Neovim(一个现代的Vim替代品),并在GitHub上为Neovim找到了某人的.config文件并将其复制。然后我安装了nodejs,yarn,npm,parcel,rust,gcc ...我渴望的所有好东西。因为VS Code的“语言服务器”方面是开源的,所以我可以在编写Neovim时得到很多我依赖的提示和错误,即使它缺少VS Code的所有GUI铃声和口哨声。

除了自由应用sudo apt-get install,复制和粘贴shell脚本以及仔细阅读错误消息之外,我很难描述我是如何完成所有这些事情的。大多数情况下,命令行中只有多年的反复试验。如果你遇到问题,我想DM我,我会尽力帮助你。你试过修改$ PATH吗?

所以,无论如何,现在我可以用JavaScript编写一个Web应用程序,从我的Digital Ocean框中提供它,并在Safari中预览我的工作(通过实时重新加载,感谢Parcel执行的一些魔术)。我甚至可以拆分屏幕终端和Safari,真正开始工作。

但很快,我感到沮丧:我的工作“编码”的一小部分实际上是打字代码。我花了大部分时间阅读文档和其他人的代码,试图弄清楚到底是怎么回事。浏览StackOverflow几分钟后,我收到来自Prompt的通知,警告我我的SSH会话即将断开,因为不活动。

iOS是如此美观和响应的全部原因是因为它几乎没有多任务处理,除非你一次使用多个音频应用程序。提示尽力保持活力,但iOS总是最终杀死它。

所以,我用Google搜索解决方案并发现了Mosh。基本上,Mosh是用于从间歇连接使用终端的UDP协议。你像往常一样通过SSH连接,但是那个连接被传递给Mosh,以便在停机期间保持“活着”状态。提示不支持Mosh,所以我为另一个名为Blink的终端模拟器应用程序另外支付了20美元,然后设置了Mosh。在我的Ubuntu盒子上运行Mosh服务器并将我的登录详细信息正确输入Blink需要一些试验和错误,但是一旦我开始工作,它就会很好用。

我可以离开终端好几天了,一旦我打开Blink,我就会在上次打开所有会话。对于命令行战士来说,这绝非易事。他们知道所有关于“重新连接”会议或他们所做的事情。但对我来说,这是一项巨大的成就。

事实上,在某些方面,我更喜欢我的iPad / Blink / Digital Ocean设置,以便在我的Mac上进行编码。我不能做我的Mac所做的一切 - 任何涉及窗口或图形的东西,例如,在网络浏览器之外,实际上是不可能的 - 但我很高兴知道我并没有弄乱我的各种各样的Mac奇怪的命令行软件我从互联网上安装。如果我的设置无法修复,只需点击几下即可擦除我的Ubuntu盒并重新开始。

此外,虽然我的数字海洋盒比我的MacBook Pro慢很多,但它具有超快的互联网连接。由于其最小的延迟和巨大的互联网管道,我想要git clone或npm install的任何东西在这个云盒上感觉更加快捷。

哦,如果你想知道:Blink支持“Ctrl + [”命令来模拟转义。你也可以将你的大写锁定键映射到逃脱,如果你想要真的疯了(我传统上将大写锁定映射到Ctrl,这也是Blink支持)。但是,幸运的是,我的Neovim配置映射“jj”在插入模式下逃脱,所以我在那个方面是金色的。

我当前的设置真的只有一个问题:我在JavaScript上很糟糕,因此我第一次写的东西都没有,我在Mobile Safari中看不到任何控制台错误消息,因为它是婴儿的残缺浏览器。

CodeSandbox.io包含自己的控制台界面。

我想我在这个新的编码设置上的第一份工作是为CodeSandbox写一个pull请求来支持“jj”转义方法。

如果只有我更好的JavaScript!

这是我发现自己真正的泡菜。


免责声明:本文由用户上传,如有侵权请联系删除!

精彩推荐

图文推荐

点击排行

2016-2022 All Rights Reserved.平安财经网.复制必究 联系QQ280 715 8082   备案号:闽ICP备19027007号-6

本站除标明“本站原创”外所有信息均转载自互联网 版权归原作者所有。