2011-06-23 21 views
2

我是很新的Vim的,我認爲設置它,這樣我就可以使用按Ctrl +移動鍵(^hJKL)用於在插入模式下移動。Vim的:<CTRL-H |百靈| K | L>的運動插入模式

兩個問題:

  1. 這是怎麼回事集.vimrc
  2. 這是值得推薦的(至少稍微可觀)或簡單的'倒退'?
+6

當然,你可以這樣做,但它不是什麼插入模式。在插入模式下,你應該插入文本。只能插入文字,不能四處移動,這是正常模式下的工作。我建議你將所有插入模式的動作限制在一行中:對於其他動作,普通模式更加方便*,但切換到正常模式只是爲了移動一個字符/單詞對於我來說太過分了。 – ZyX

回答

8

你可以實現你想要的這些映射:

inoremap <c-k> <up> 
inoremap <c-j> <down> 
inoremap <c-h> <left> 
inoremap <c-l> <right> 

我沒有看到任何真正的錯,但你顯然失去了現有的映射(如<c-l>重繪屏幕

六純粹主義者可能會卻步於停留在插入模式,而在你的文件瀏覽的想法,但也有更壞的罪。

+5

更糟糕的罪過,就像不得不按住Ctrl鍵移動文件一樣。 –

+0

這很好。我已將Caps-Lock鍵重新映射爲Ctrl。這意味着我可以輕鬆地將我的小手指移動到'a'鍵的左側1cm,然後在插入模式下使用H,J,K,L移動。如果在插入模式下有更符合人體工程學的移動方式,我很樂意知道。否則,我不認爲不應該在插入模式下移動,只是爲了'不在插入模式下移動',或者說,這就是正常模式的用途。爲什麼?爲什麼不能在BOTH插入和正常模式下移動光標? Vim應該不會輕易放在你的手指上,讓你輸入更少的東西來完成更多? :) – Henrik

+0

我也映射切換模式。基本上,我的小指始終保持在Caps-Lock(即Ctrl鍵)上。 – Henrik

7

人已經告訴你如何做到這一點,所以我只想回答你的問題的第二部分。

我不完全明白使用Vim和不使用模式的能力。這種設置的主要問題在於,您將移動力限制爲「任何方向上的一個字符」。這不是「錯誤」,這只是效率低下。那麼F,f,T,t(向前/向後移動到字符)?那麼0$(移動到行首和行尾)呢?段落/句子動作如何([]{})?怎麼去匹配的parens(%)?等,等,等

IMO,最好是學會用正常模式運動的全部力量,而不是減少你的運動能力hjkl

+0

對於它的價值,我完全同意你的看法。當我發佈我的答案時,我認爲OP希望在''比' la''更快的情況下可能。 –

+0

我主要想要移動到當前行的前一行/下一行,但也左右移動(使用Ctrl +首行移動鍵)。 – Henrik

14

你知道嗎,CTRL-O插入模式暫時切換到一個正常模式命令的正常模式?所以,CTRL-O j,CTRL-O k等,但也CTRL-O ^等

+0

對此+1,永遠不知道,正常的命令是如此強大,你真的只需要使用一個去大部分地方。 「 2k」將會被我使用很多。 – Mike