为什么选择“~”来代表主目录?

Lel*_*uge 836 history home

我经常想知道为什么~(波浪号)代表用户的主目录。这背后有什么原因,还是只是一些不常用的字符?

pbm*_*pbm 1088

引用维基百科

在类Unix操作系统(包括BSD,GNU / Linux和Mac OS X),常波浪号表示当前用户的主目录:例如,如果当前用户的主目录/home/bloggsj,那么 cdcd ~cd /home/bloggsj或者cd $HOME是等价的。这种做法源自 1970 年代普遍使用的 Lear-Siegler ADM-3A 终端,它碰巧在同一键上有波浪号和“Home”一词(用于将光标移动到左上角)。

ADM-3A 键盘布局

您可以在站点上找到 Lear-Siegler ADM-3A键盘的照片。

ADM-3A 键盘的图像

此终端也是编辑器中使用的移动命令来源vih, j, k,l表示向左、向下、向上、向右。

  • 顺便说一下,“HERE IS”键是做什么用的? (58认同)
  • 我也读过这就是为什么在 `vi` 中使用 `Esc` 切换模式的原因,因为在这种类型的键盘上很容易够到这个键。 (47认同)
  • 阅读此答案后,我才意识到为什么 GMail 的快捷方式还分别使用“J”和“K”来移至上一封电子邮件和移至下一封电子邮件! (43认同)
  • 我不确定它是否相关:`一些电传打字机有一个“Here is”键,它传输一个固定的序列 20 或 22 个字符 [...] 这通常用于识别一个电台;操作员可以按 键将电台标识符发送到另一端`。来源:http://en.wikipedia.org/wiki/Teleprinter#.22Here_is.22_key (40认同)
  • 这也是正则表达式中“^”是字符串开头的原因吗? (14认同)
  • 下一个问题是为什么 Home 键上选择了波浪号。:) (10认同)
  • @olivier,这是事后推理。无论如何,您无法在键盘的大写字母上看到这些功能。它们是右手下方的四个相邻的本行字母,这就是箭头在那里的原因。其他“经典”键盘(如 VT52)也以这种方式使用它们,iirc。(当然,像许多主机游戏一样,使用 I/K 进行上/下,使用 J/L 进行右/左,在人体工程学上要方便得多。) (6认同)
  • “任意”键在哪里?:-) (5认同)
  • @ThomasAhle 如果您的键盘使用 [Cherry-MX 键](http://www.wasdkeyboards.com/index.php/gallery2) 那么您可以[很容易](http://imgur.com/a/oCob1) )。另见关于cherry-mx-vim-keyboard设置的这个[reddit线程](http://www.reddit.com/r/vim/comments/zq97e/alright_rvim_win_a_free_vim_keycap_heres_a/)。 (3认同)
  • 这正是“HERE IS”键的用途;当许多终端与计算机共享一条串行线路时,它会很有用。在 ADM-3A 上,它是 RAM 的可选插件板,用于存储标识。来源:http://vt100.net/lsi/adm3a-om/adm3a-om.pdf (3认同)
  • @Pacerier,因为 QWERTY 键盘布局比 CRT 屏幕和箭头键早大约一百年! (3认同)
  • @AlexStragies RUB 是 RUBOUT 的缩写,这是当时许多键盘上调用的 Delete 键。 (3认同)
  • @JustinEthier:像许多 vim 用户一样,我总是调整我的设置以使“CapsLock”表现得像“ESC”(“ScrollLock”是“CapsLock”功能的一个很好的候选者)。 (2认同)
  • @jogloran 是的,“这里是”是不寻常的。但是你看到底部的“RUB”和“REPEAT”了吗?什么是“擦”? (2认同)

Edd*_*eel 162

Home键还用于旧终端上的波浪号字符。请参阅此处了解更多详情。