我想要澄清一下Vim上的OReilly書,但是這裏提供的例子不夠清楚。 通過示例/用例進行澄清而不是直接解釋會非常有幫助。vi/vim中的s,c和r命令有什麼區別?
示範文本可能是:
With a
screen editor,
you can
scroll the page, move the cursor.
我想要澄清一下Vim上的OReilly書,但是這裏提供的例子不夠清楚。 通過示例/用例進行澄清而不是直接解釋會非常有幫助。vi/vim中的s,c和r命令有什麼區別?
示範文本可能是:
With a
screen editor,
you can
scroll the page, move the cursor.
假設你的文檔中有foo
,光標是在f
。現在,按rb
將更改爲boo
,並且您已回到命令模式。按sb
將完成相同的操作,但您處於插入模式並可插入更多字符。最後,c
需要某種運動;例如您可以鍵入cw
刪除整個單詞並進入插入模式。另一方面,cl
與s
基本相同。
對我來說,「cw」會將光標上的所有字符移到該單詞的末尾。 「ciw」將刪除整個單詞並將您置入插入模式。 – 2016-06-30 19:52:44
@Leonard Schuetz:'cw'不會讓你插入模式?這是令人驚訝的。 'cw'和'ciw'本身應該大體相同; 'c3w'和'c3iw'不,但是:對於'iw',空格被計爲單獨的單詞。例如,在「abcd」的第一個字符處輸入'c3w'將會刪除'abc'(三個單詞,不包括空格),而在同樣情況下的'c3iw'將刪除'ab'(三個單詞「一個是空間)。兩者都將進入插入模式。 – chirlu 2016-06-30 20:21:21
爲了更好地理解用'c'刪除什麼,你應該使用'v'來代替。例如:'v3iw'。我還注意到,'v3iw'和'vi3w':'v3iw' =='v' + 3 x'iw',而'vi3w' =='vi' + 3 x'w'是有區別的。 '=='的左側和右側都完全相同。這是瞭解結果與衆不同的好方法。 – Creak 2016-08-17 13:34:26
: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
如何在Vim的嘗試出來的自己呢?我認爲這將是瞭解他們所做事情的最佳方式。 – 2013-05-07 10:37:54
我做到了。儘管他們擁有所有的子選項,但對於像我這樣的初學者來說,感知這種差異並不是那麼容易。 – lalit 2013-05-07 10:44:40
瞭解如何查看命令並導航內置的':help';它是全面的,並提供許多技巧。你不會像其他編輯一樣學習Vim,但如果你承諾不斷學習,它將證明它是一個非常強大和高效的編輯器。 – 2013-05-07 10:47:17