2013-05-07 825 views
30

我想要澄清一下Vim上的OReilly書,但是這裏提供的例子不夠清楚。 通過示例/用例進行澄清而不是直接解釋會非常有幫助。vi/vim中的s,c和r命令有什麼區別?

示範文本可能是:

With a 
screen editor, 
you can 
scroll the page, move the cursor. 
+0

如何在Vim的嘗試出來的自己呢?我認爲這將是瞭解他們所做事情的最佳方式。 – 2013-05-07 10:37:54

+3

我做到了。儘管他們擁有所有的子選項,但對於像我這樣的初學者來說,感知這種差異並不是那麼容易。 – lalit 2013-05-07 10:44:40

+0

瞭解如何查看命令並導航內置的':help';它是全面的,並提供許多技巧。你不會像其他編輯一樣學習Vim,但如果你承諾不斷學習,它將證明它是一個非常強大和高效的編輯器。 – 2013-05-07 10:47:17

回答

45

假設你的文檔中有foo,光標是在f。現在,按rb將更改爲boo,並且您已回到命令模式。按sb將完成相同的操作,但您處於插入模式並可插入更多字符。最後,c需要某種運動;例如您可以鍵入cw刪除整個單詞並進入插入模式。另一方面,cls基本相同。

+1

對我來說,「cw」會將光標上的所有字符移到該單詞的末尾。 「ciw」將刪除整個單詞並將您置入插入模式。 – 2016-06-30 19:52:44

+2

@Leonard Schuetz:'cw'不會讓你插入模式?這是令人驚訝的。 'cw'和'ciw'本身應該大體相同; 'c3w'和'c3iw'不,但是:對於'iw',空格被計爲單獨的單詞。例如,在「abcd」的第一個字符處輸入'c3w'將會刪除'abc'(三個單詞,不包括空格),而在同樣情況下的'c3iw'將刪除'ab'(三個單詞「一個是空間)。兩者都將進入插入模式。 – chirlu 2016-06-30 20:21:21

+1

爲了更好地理解用'c'刪除什麼,你應該使用'v'來代替。例如:'v3iw'。我還注意到,'v3iw'和'vi3w':'v3iw' =='v' + 3 x'iw',而'vi3w' =='vi' + 3 x'w'是有區別的。 '=='的左側和右側都完全相同。這是瞭解結果與衆不同的好方法。 – Creak 2016-08-17 13:34:26

18
:help c 
:help s 
:help r 

簡單。

反而浪費你的時間在這本書中,學習如何使用Vim的真棒內部文檔:

:h s 
:h :command 
:h 'option' 
:h function() 
:h ctrl-x 
:h i_ctrl-x 
:h subject 
:h foo<Tab> 
:helpgrep foo 
+4

當然'$ vimtutor'。 – timss 2013-05-08 00:46:55

+0

和'$ vimtutor',當然。 – romainl 2013-05-08 05:49:32

+0

@Nozdrum,[你在說什麼網站?](http://i.imgur.com/bo04UaV.png) – romainl 2016-05-26 12:08:04

相關問題