应用现在也有命令提示符了

Avatar of Chris Coyier
Chris Coyier

DigitalOcean 为您旅程的每个阶段提供云产品。立即开始使用 200 美元的免费额度!

命令行是计算机早期的创新,并且在 20 世纪 60 年代到 80 年代是与计算机交互的主要方式。此后,大多数用户都转向了 GUI。我认为我们不需要进行科学研究就能找出原因。大多数用户发现通过交互式操作和视觉反馈来完成任务更舒适、更直观。

但命令行从未消失。无论如何,GUI 通常是对您通过命令行可以执行的操作的有限抽象,因此高级用户倾向于命令行更接近底层本质的特性。

但我们可能正处于回归折衷方案的中间阶段。

Finder 操作

我们知道苹果非常喜欢裁剪功能。尤其是很少使用的功能或仅供高级用户使用的功能。奇怪的是,这个功能一直保留着。

通过 Command-Shift-G 使用的“前往文件夹”对话框

William Pearson 撰写

如果您在 Mac OS X 中只需要记住一个键盘快捷键,那就是这个:前往文件夹。……是否有比“前往文件夹”更有用的键盘快捷键?我认为没有。

我不确定这一点,但很明显有些人非常重视这个快捷键!是的,这是一个键盘快捷键,但它本质上打开了一个可以执行一项操作的命令提示符。

考虑到像 Alfred 这样的应用程序的成功,这也许并不令人惊讶,或许可以公平地说,Alfred 是一个用于查找、打开和执行操作的命令行。

Finder 也具有 Spotlight(至少从 OS X 10.4 Tiger 开始,也就是 2005 年),它主要用于搜索(尤其是在今天,因为它也返回网络结果)。

Spotlight 有一个键盘命令(Command-Space),然后您只需输入即可执行操作,因此它非常像一个命令提示符。只不过它在用户友好性方面得到了很好的完善。

而且,既然我们谈到了这一点,就不能忘记 Quicksilver。有趣的是,Alfred 和 Quicksilver 都晚于Spotlight。我想这说明 Spotlight 在早期有点糟糕,让人们想要更多。

代码编辑器

我相信大多数开发人员都非常了解文字命令行。几乎所有大型开发工具都是基于命令行的工具。从 Git 到 Gulp,从图像优化器到包管理器,从 Capistrano 到 webpack……它们都是您从命令行使用的工具。如果您有任何工具的 GUI,它可能只是对命令行方法的轻量级抽象。

但是,除了那些在终端窗口中执行所有代码编辑的铁杆 Vim 用户之外,我们实际上并不是在命令行上编写代码,而是在带有 GUI 的编辑器中编写代码。

代码编辑器是结合 GUI 和命令行的最佳功能的想法的完美温床。

让我们看看 Sublime Text。当创建新文件夹时,我可能希望使用 GUI 来完成。在那里,我可以看到现有的文件夹结构,并准确了解我正在做什么。

但是,假设我想跳转到我知道存在的某个文件。假设它嵌套在许多目录中,并且我很高兴它在那里,因为它符合当前项目的结构。我可能需要点击 - 点击 - 滚动 - 点击 - 滚动 - 点击才能使用 GUI 找到它,这并不是最好的交互方式。

相反,我可以在 Sublime Text 中启动一个命令提示符,在本例中,它是标志性的 Goto Anything 命令,输入与文件名相近的内容,然后找到它。

也许更像命令提示符的是文字命令面板,它是一个可扩展的命令运行菜单,可以通过键盘快捷键触发。也许我想运行特定的 Emmet 命令、更正语法突出显示或触发查找/替换扩展来执行其操作。

这些东西与在草堆中查找文件类似。可能有数百或数千个命令。您的大脑和打字手指可以比您在 UI 中用鼠标更快地找到它们。

Sketch Runner

Sketch Runner 是 Sketch 的一个流行插件,它为 Sketch 添加了一个命令提示符。以下是他们的产品视频

如果您将设计文档中的元素和组视为代码项目中的文件,那么“跳转到任意位置”功能就说得通了。它就像“Goto Anything”。

也许您的设计文档有数百个符号。您的大脑可能对此有一个心理地图,比用鼠标遍历嵌套菜单更快地导航。因此,可以使用命令提示符输入名称(模糊搜索)并将其插入。

Slack

太多的 Slack,对吧?

我认为拥有十几支 Slack 团队、数百个频道和数千人并不罕见。特别是如果您喜欢加入“公共 Slack”,例如 A11Y Slack

假设我想给 Sarah 发送一条消息。我可以打开 快速切换器,然后开始输入她的名字,就可以找到她。

您必须在正确的 Slack 中才能使姓名(或频道)有效,但您可以通过快速切换器进入正确的 Slack,然后进行新的搜索。

Notion

Notion 对命令提示符的处理方式非常棒。只需按下斜杠 / 键,您就可以在文档中的任何位置使用它。

您可能可以执行大约 30 件事情。菜单很好,但能够快速键入您想要的内容更好。

除了搜索菜单外,您还可以只在斜杠后完成单词(斜杠命令)来执行操作。

Chrome 开发者工具

David Khourshid

更多地使用 Chrome 开发者工具中的命令提示符,因为打开“动画”选项卡需要点击 17 次。

另一个很好的用例!

所以

有很多应用程序在这里做着有趣的事情。我非常喜欢所有这些!

可能还有更多应用程序可以从中受益。Photoshop 非常复杂,但我们很多人对它可以执行的操作很熟悉。它似乎是启用模糊搜索的命令提示符的完美候选者!

用户也可能能够在这里自己动手操作。Alfred 用户可以使用 菜单栏搜索 插件,该插件允许您

搜索并激活最前面应用程序的应用程序菜单项。工作流程列出当前应用程序的菜单项,并根据在 Alfred 中输入的内容对其进行过滤。

应用程序很容易有几十个菜单项,这将使它们都能够使用命令提示符。

标准化也是一个值得考虑的有趣问题。似乎一些应用程序相互借鉴。Command-Shift-P 是 Sublime Text 命令运行器,Chrome 开发者工具和 VS Code 也使用它。我有点喜欢 Spotlight 的 Command-Space,但这并不意味着基于 Web 的应用程序应该复制它。事实上,这意味着它们不能复制,因为操作系统会覆盖它。

TLDR

当UI过于繁琐或不实用时,命令行就很有意义。许多应用程序受益于提供UI和命令行,并以各种形式存在。