在编写文档或程序是比较常用的是一些小幅的修改
修改文本一般有三种方法:操作符+位移命令,Visual模式了和操作符命令+文本对象
删除的内容是否包括光标所移动到的那个字符上取决于你的位移命令。在联机参考手册上把这种不包括该位置的操作叫做"排外的",把包括该位置的操作叫"内含的"。
操作符+位移
此类命令有一个固定的模式:操作符命令+位移命令。首先键入一个操作符命令。比如"d"是一个删除操作符。接下来是一个位移命令如"4l"或"w"。这样任何移动光标命令所及之处,都是命令的作用范围。
1)"d"命令可以后跟任何一个位移命令,它将删除从当前光标起到位移的终点处的文本内容,“w”是移动到下一个单词的首部。所以“dw”将删除从光标开始到这个单词结尾的地方。又比如"4w"命令是向前移动4个word。所以"d4w"命令是删除4个word。“e”命令是到这个单词的尾部,所以"de"将不会删除单词后面的空格。"$"命令是移动光标到行尾。所以"d$"命令就是删除自当前光标到行尾的内容。"^"命令是移动光标到行首。所以"d^"命令就是删除自当前光标到行首的内容。
2)"c"命令为改变命令。它的行为与"d"命令类似,不过在命令执行后会进入Insert模式。比如"cw"改变一个word。它删除一个word并让你置身于Insert模式。"c$"改变当前光标到行尾的内容。就好象是用"d$"删除然后又以"a"进入Insert模式追加新的文本一样。
3)“y”命令用于复制。"y"操作符命令会把文本复制到一个寄存器中。然后可以用"p"命令把它取回。因为"y"是一个操作符命令,所以你可以用"yw"来复制一个word.样可以使用命令记数。如下例中用"y2w"命令复制两个word。"yw"复制的内容中包括了word之后的空白字符。如果你不想要它们,那就用"ye"。
Visual模式
按"v"可以进入Visual模式。移动光标以覆盖你想操纵的文本范围。同时被选中的文本会以高亮显示。最后键入操作符命令。在此模式下,可以通过hjkl的移动选择,词、行、段等各种形状。并可以通过按“o”来调换光标所在的端点。
文本对象
它很象操作符+位移命令,但是它的起始点不象前者一样始于当前光标,终于位移命令。它不管当前光标所在的位置而把整个文本对象作为操作对象。
如果光标位于一个单词的中间而你要删除这个单词,通常你需要把光标移到该单词的开头然后用"dw"命令。不过有一个更简单的办法:"daw"。"daw"中的"d"还是操作符命令。"aw"是一个文本对象。提示:"aw"意为"A Word"。这样"daw"的完整意思是"Delete A Word",更准确地说,该Word之后的空白字符也被删除了。
要修改一整个句子使用命令"cis"。"cis"由操作符"c"和文本对象"is"组成。它是"Inner Sentence"的
缩写。相应地还有一个叫"as"(a sentence)的。如果你想删除一个句子,你会希望把它后面的空白也给删除,所以此时最好用"das".如果你是想以新的文本替代它,空白就可以留下来。
本文出自 “燕窝” 博客,转载请与作者联系!