2011-07-01 29 views
54

我一直在使用vim很多年,從來沒有真正想過。我的一位朋友問這是爲什麼,注意到在我們的文化中,左側通常會映射到右側,而右側會映射到下方,從而使vim鍵向後移動。我知道他們在家裏排隊,這意味着你不必將手指移動到任何地方打他們,但這完全是另一回事。基本上,我的問題是:有誰知道爲什麼這些鍵被賦予他們目前的目的?如果你能指出我有關決定的一些文件,那將是非常好的。在vim中,爲什麼'j'用於down和'k'用於up?

+2

偉大的問題。我經常想到這一點,但缺乏勇氣去問。 –

+4

引用克羅克福德的話說:「看起來有點愚蠢,但要花很長時間才能把它弄出來。」 :-) http://developer.yahoo.com/yui/theater/video.php?v=crockonjs-2 –

+5

爲什麼在你的觀點中,左通常會映射到上下右。我以前沒有真正想到它,但我覺得它應該是另一回事。可能純粹是因爲我是右撇子(但我們大多數人),所以,也許像這樣,正確的感覺就像正確的一樣。嗯。我只是感興趣,爲什麼你的自然反應是以另一種方式看待它。這當然不是這個討論的地方,但(我想知道在哪裏,心理學。堆棧交換也許 - 如果這樣的地方存在)。 – tjm

回答

81

答案在wikipedia entry for vi。編寫ex的可視模式(最終成爲vim前體vi)的Bill Joy使用了Lear Siegler ADM3A終端,其中H,J,K,L鍵映射到左,右,上,右 - 並且它是從此以後。

這裏的鍵盤佈局:

enter image description here

在ADM3A佈局中的幾個音符的其他點:

  • 左派的Q:Esc鍵 - 比它稍微更加便利今天在鍵盤上,因此是在普通模式和插入模式之間切換的好選擇。
  • 右上:'Home'鍵作爲代字符(〜)加倍,後來成爲Unix用戶主目錄的縮寫。
+1

啊廢話。你打了我一分鐘。 – abcd

+45

好吧,現在我想這個問題是爲什麼ADM3A使用J來代替。 – geowa4

+1

我希望他們能夠最終取消大寫鎖定。 –

12

這是一個總猜測,但是:Ctrl + J字符是「換行」字符,它在傳統的TTY上向下移動一行,提供助記符。 K恰好位於Qwerty鍵盤旁邊,位於原位置時位於右手第二常用手指之下。

17

vimtutor提供了'J'看起來像一個向下指向的箭頭的助記符,儘管這可能是也可能不是它被選中的原始原因。

+2

爲什麼-1這個?這很有趣,並回答了這個問題。 –

+11

另一個助記符是'j'有[下](http://en.wikipedia.org/wiki/Descender),而'k'有[上升](http://en.wikipedia.org/wiki/Ascender_(排版))。 – hammar

1

我一直認爲這是因爲在DVORAK佈局上,j和k也彼此相鄰。這裏並不是說有兩個德沃夏克A/QWERTY/Z

+0

該問題實際上是關於**爲什麼使用在這樣的佈局中,向下和K向上**(爲什麼不K向下?)。 – sunquan

1

從用戶體驗的角度來看,這財產多鑰匙,打開文件後,你總是向下移動第一和向下移動通常是一個更加頻繁操作。由於從左到右是我們大多數人的自然方向,因此將您首次或更頻繁執行的任務與左側的鍵相關聯是有意義的。您可以嘗試切換2鍵並嘗試判斷哪種方式更好。對於我來說,「J」倒更自然,更舒適。

+0

「在向上鍵之前使下鍵先出現」我不確定你的意思是「先來之前」,因爲我沒有在鍵盤上看到方向感,但我認爲我們同意敲擊鍵食指比中指容易。因此,使用幾乎總是在食指下方的鍵是非常有意義的,這是在文件中導航的最常見的方向。 – JoL

+0

@jlmg對於我來說,如果A在B的左邊**,那麼感覺自然就是說A先出現,B出現後。而且我更願意在左側而不是右側放置按鍵**先**和**更頻繁**。這對我來說更加自然和舒適。 – sunquan

相關問題