vim中$和^的顺序.是逆转了吗?

use*_*092 2 vi vim keyboard-shortcuts

在vi中,^将光标向左移动(到第一个非白色字符)并将$光标向右移动.^ $在键盘上是从右到左(即$ ^),这意味着左边的键($)向右移动光标,向右^移动键()将光标向左移动.

我发现它令人困惑,我希望钥匙是其他方式.

这个顺序是巧合还是有任何理由吗?谢谢.

Car*_*rum 9

正则表达式中,^是一个特殊的锚字符,意思是"行首",$是一个特殊的锚字符,意思是"行尾".我不知道是否有任何特殊原因被选中.


Pri*_*ash 5

我相信^"线路起点" 的用法源于旧的ADM-3A终端(c.1975),其键盘布局如下所示(摘自维基百科文章).该^符号与Home和的键相同~,这也是为什么~用于Unix中的主目录的原因.此布局也是hjklVi(m)中的移动键的原点.

在此输入图像描述

我不知道为什么$最初用于"行尾",但也许只是因为它类似于字母S,因此被选择用于字符串终止.这$也被用来划定ALGOL 68(c.1968)中的" 格式化传输 ",所以也许有更多古老的起源.