分页: 1 / 1

Dvorak和vim

发表于 : 2010-07-13 0:11
millenniumdark
這兩個,都是精心設計的系統,但是湊在一起,就悲劇了。

法一:插入模式Dvorak,命令模式qwert。
結果:精神分裂。

法二:啥也不動。
結果:hjkl不在home low上,浪費了vim的精心設計。

法三:按vim的位置來。
結果:一大堆無意義的鍵綁定。

法四:重新映射。
結果:牽一發動全身,很複雜。

個人覺得法四纔是比較徹底的方法,我們要以Dvorak為基礎,重新設計vim的快捷鍵。

具體設計:樓下的來補完,我睡覺去了。

Re: Dvorak和vim

发表于 : 2010-07-13 0:57
leni
德沃夏克和vim :em20

Re: Dvorak和vim

发表于 : 2010-07-13 7:07
HuaChong
leni 写了:德沃夏克和vim :em20
听过卡拉扬指挥的德沃夏克

Re: Dvorak和vim

发表于 : 2010-07-13 11:02
eexpress
hjkl 搞坏人的手指的。还是方向键吧。
多好

Dvorak是你自己选的嘛。不怪别人嘛。 :em04

Re: Dvorak和vim

发表于 : 2010-07-13 13:32
millenniumdark
拋磚引玉啊。

vi大多數鍵綁定,都是跟意義相關的。比如f-find, d-delete。所以,這些根本就不用動的。

主要就是hjkl,這些,是位置相關的。那麼,把它們重新綁定下就可以了。

hjkl對應的是dhtn。所以vim tips wiki上就是這樣綁的。但是,等等,h要移動食指,為什麼。因為,小指是;,在qwert。但是,dv上,小指是s。看,這是dv的天然優勢,為什麼不用?

所以,就是這樣。

代码: 全选

noremap h h
noremap t j
noremap n k
noremap s l
那麼,dv的位置移動,就是htns了。這樣,t, n, s被占掉了,而j, k, l空出來了。

現在來處理下這個。

代码: 全选

noremap j t
noremap l n
noremap k s
vi的鍵綁定,一個設計原則就是大小寫相關,我們當然也要尊重這個原則的。所以,大寫的也處理下。

代码: 全选

noremap J T
noremap L N
noremap K S
noremap T J
noremap N L 
noremap S K
好了,調整完畢,收工。

對了,我們還需要解釋一下意義。解釋,我最拿手了。


n (Next) -> l (Left) 接下和剩下,哈哈
s (Substitute) -> k (Kill then insert)
t (jump Till) -> j (Jump till)
N, S, T同理

J (Join lines) -> T (make lines Together)
K (Keyword) -> S (Subject)
L (Line) -> N (lineNumber) 還有,不加數字L是末行,然後,N正好是fin的最後一個字母(贊tenzu)

Re: Dvorak和vim

发表于 : 2010-07-13 13:36
onelynx
重写快捷键谈何容易

Re: Dvorak和vim

发表于 : 2010-07-25 19:02
millenniumdark
我現在有點後悔了。我感覺改不勝改。

vi的影響太大了。vim改了,那less呢,w3m呢,vimperator呢,uzbl呢,Gmail的快捷鍵呢,Google Reader的快捷鍵呢?

Re: Dvorak和vim

发表于 : 2010-08-14 21:23
jayklx
楼上说的有理,不能乱改,这个牵一发都不止动全身了。。。