2012-03-20 48 views
2

在vi ^將光標移到最左端(到第一個非白色字符),並且$將光標移到最右端。 ^$在我的鍵盤上是右到左(即$^),這意味着左側的按鍵($)將光標向右移動,右側的按鍵(^)將光標移動到最左側。

我發現它令人困惑,我期望的鑰匙是其他方式。

這個訂單只是一個巧合還是有任何理由呢?謝謝。

+4

嘿,在[我的佈局](http://en.wikipedia.org/wiki/Keyboard_layout#French),它不會顛倒:) – 2012-03-20 20:07:36

+1

這是一個電腦模仿生活的情況。在生活中,你是第一次提供胡蘿蔔,然後當你到達最後你得到美元。 – NevilleDNZ 2012-04-02 00:27:27

回答

9

regular expressions,^是一個特殊的錨字符,意思是「行首」,而$是一個特殊的錨字符,意思是「行尾」。我不知道這些選擇是否有特殊的原因。

2

是的,在正則表達式中^表示行的開始,並且$結束了。一旦你做了足夠的正則表達式看起來很自然;)

2

我期望它涉及正則表達式中的^(行首)和$(行尾)的含義。

+0

小心分享您的用途嗎? 「0」和「E」出現在腦海中,雖然他們做了不同的事情 – sehe 2012-03-21 19:38:24

+0

其實我確實使用了這些鍵,而且總是這樣做 - 我越來越困惑。 – trojanfoe 2012-03-21 19:49:16

5

我相信^用於「開始一行」源自舊的ADM-3A terminals(約1975年),其鍵盤佈局如下(取自維基百科文章)。 ^符號與Home~相同,這也是爲什麼~用於Unix中的主目錄。此佈局也是在Vi(m)中作爲移動鍵的hjkl的原點。

enter image description here

我不知道爲什麼$原本用於「行結束」,但也許它很簡單,因爲它類似於一個字母S,因此被選定爲字符串終止。 $也被用來界定ALGOL 68(c.1968)中的「formatted transput」,所以也許有更多的古代起源。

+0

我不確定,但也許這與PCDOS postdates Unix相關,因爲原始的PCDOS彙編程序使用'$'字符來終止字符串。 C.F. stackoverflow.com/questions/481344/dollar-terminated-strings。我很確定PCDOS從哪裏得到這個靈感。 – NevilleDNZ 2012-04-02 12:11:30