为什么 Plan 9 使用“snarf”而不是“copy”?

Mat*_*ski 34 terminology history plan9 command-names

当您观看有关 Plan 9 及其acme编辑器的演示时,您可能会注意到copy的名称是snarf(不幸的是,我找不到任何有意义的解释)。

为什么会这样?

有什么原因吗?是否已为此功能创建唯一名称,因为副本可能不是最佳名称?


参考:

  • 维基百科(链接)

    Snarf,在 Blit 和 Plan 9 窗口系统中用于“复制”操作的术语。

  • cat-v.org(链接)

    单击中键还有另一个菜单可用;剪切和粘贴是不言自明的,而 Snarf 只是计划 9 中复制的词。

  • 9fans 邮件列表(链接)

    通过plan9port在Plan 9和/或Mac OS X下使用acme中的一个/两个,是否有一个可以在acme中打开的“文件”,显示acme snarf缓冲区的当前内容?

    /dev/snarf
    
    Run Code Online (Sandbox Code Playgroud)

    所以看起来有一个类似于snarf 缓冲区的东西和一个名为/dev/snarf.

  • 9term 手册页(链接)

    在键盘上键入的字符替换选定的文本;如果此文本不为空,则将其放置在所有窗口通用但与 sam(1) 不同的 snarf 缓冲区中。

    (……)

    从按钮 2 上的菜单中选择编辑操作。剪切操作从屏幕上删除所选文本并将其放入 snarf 缓冲区;snarf 将选定的文本复制到缓冲区而不删除它;paste 用缓冲区的内容替换选定的文本;并将 snarf 缓冲区的副本发送到输出点之后,如果缺少则添加最终换行符。Paste 有时和 send 将始终在输出点之后放置文本;如此放置的文本的行为与上述完全相同。因此,在输出点后粘贴包含换行符的文本时,最好先打开保持模式。

  • 探索 Acme教程(链接)

    'Snarf':在大多数其他编辑器中称为 copy

  • snarf 的dictionary.com 定义(链接)

    • (非正式的)贪婪地吃或喝

    • (当代)贪婪地抢夺某物,尤其是。没有经过允许

    • (Unix) 通过网络获取一个文件或一组文件。另见爆炸。

  • Inferno 第 2 部分:让我们创建一个集群!(链接)

    剪贴板在 Inferno 和 Plan 9 中被称为“snarf buffer”。

Mat*_*ski 29

我今天偶然发现了一个相当合理的解释。在行话文件(链接)解释SNARF是这样的:

snarf : /snarf/, vt.

  1. [在 Unix 社区中] 通过网络获取一个文件或一组文件。另见爆炸。这个词在 1960 年代后期是主流,意思是“贪婪地吃”。在上下文中它可能仍然具有这种含义。“他正处于黑客的疯狂阶段——每天通过 FTP 传输大量的东西。

似乎 Plan 9 的设计者认为复制不是一个原子动作。复制实际上是:

  • 获取要复制的内容(snarfing
  • 将内容插入您想要的位置(粘贴

(另一方面,剪切是在同时窃取删除原始内容。)


罗伯派克的回答

我在 9fans 邮件列表上问过这个问题。您可以在此处查看线程(链接)1

这是我从 Rob Pike 那里收到的答案1

操作不是复制而是snarf。它被称为 snarf,因为 snarf 就是它的作用。没有设计文件。


1:正如Stéphane Chazelas在评论中指出的那样,您可以使用http://marc.info/?t=147367568900005&r=1&w=2以避免必须创建帐户才能查看列表档案。

  • 现在“bluesnarfing”这个词是有道理的 (2认同)