2013-05-07 823 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

相关问题