学习vi和vim编辑器(2): 简单的文本编辑(1)

vi编辑器对老手而言,最大的长处之中的一个就是有很是多选项可以使用。而对于新手而言,这也是它的一大难点。本章介绍主要的vi文本编辑命令。这一篇文章主要介绍怎样移动光标,以及怎样添加和更改文本。编辑器

以前讲过,vi编辑器有两种模式,命令模式和插入模式。spa

在命令模式中,所输入的一切都会被vi编辑器当作是输入的命令。而在插入模式中,所输入的一切都被当作对应的文本更新到文件缓冲区中。当打开vi编辑器时。默认是命令模式,有很是多方式可以从命令模式转化为插入模式,好比输入 "i" 。假设要从插入模式转化为命令模式。仅仅需按"ESC"键就能够。所以假设你不知道当前处于vi的哪一种模式,可以先按下ESC键回到命令模式。命令行

移动光标:

当需要编辑文本时,首先需要作的可能就是将光标移动到需要编辑的地方。class

移动光标时首先需要确认你处于vi的命令模式中。移动光标有例如如下命令:object

单一的移动:command

h: 向左移动一个字符。

j: 向下移动一行;方法

k: 向上移动一行;im

l: 向右移动一个字符。新手

尽管可以经过上下左右四个按键或者经过"BACKSPACE"和"ENTER"键来实现移动,但是这四个命令更为常用,因为它可以使咱们的手指不离开键盘中心就能完毕光标的移动。总结

当往某个方向移动到极限时,就没法继续移动了。

可以在这些移动命令前面加上数字。达到命令反复的功能。好比输入"4l"就至关于按下了4次l命令,即能直接将光标向右移动四个字符。

这样的命令反复功能可以给咱们不少其它选择。并加强命令的功能。应该牢记。

在一行中高速移动的命令有两个:

0: 移动到行的开头;

$: 移动到行的尾部;

注意在vi编辑器中。屏幕上可见的一行并不必定就是真正的一行,vi编辑器是以换行符做为行的结尾。所以可能在屏幕上显示为多行,但实际上就是一行。例如如下图所看到的,尽管屏幕上看上去占用三行,但实际就是一行:

可以依照文本块来移动,文本块可以是单词,句子或段落。

w: 将光标移动到下一个单词,当中符号和标点也被以为是一个单词;

W: 将光标移动到下一个单词,当中标点和符号不被当成一个单词。

b: 将光标倒退一个单词,当中标点和符号被当成一个单词;

B: 将光标倒退一个单词,当中标点和符号不被当成一个单词。

固然这些单词移动的命令也可以加上数值參数,这样就能同一时候移动多个单词,好比2w,5b等。

可以使用" G "命令直接移动到某个特定的行。

直接输入" G "命令,是移动到文件的尾部,1G是移动到文件的第一行。即文件顶端,而10G就能直接移动到文件的第十行。

编辑文本:

插入新文本:使用“ i ”命令进行文本的插入,i命令使vi编辑器从命令模式转化为插入模式,以后输入的一切都会被当成输入的文本更新到缓冲区中。" i "命令的细节值得说一下:输入" i "命令时。光标不移动。在光标以前的位置開始插入文本。

加入文本:加入文本使用" a "命令。a命令和i命令基本相似。仅仅只是在输入" a "命令时,光标会向后移动一个字符,所以是在原先光标以后输入文本。所以就被称为"加入"文本。

更改文本:假设需要更改文本,则需要使用" c "命令。更改命令可以以为是先删除需要被替换的文本,而后等待你输入新的文本,输入的文本的长度没有要求。使用从c命令时,为了告诉c命令有多少文本需要更改,可以把c命令与光标移动命令一块儿使用:

cw: 从光标所在位置到该单词的结尾;

c$: 从光标所在位置到该行结尾,也可以直接使用C命令

c0: 从光标所在位置到该行开头;

c2b: 从光标位置往回两个单词,等等相似使用方法;

假设需要改动一整行。可以直接输入cc命令。无论此时光标在该行的何处,cc命令将直接将一整行文本替换成输入的新文本。cc命令和上面提到的C命令都是其它命令的简写形式。

事实上不止c命令。其余如删除( d )命令,拖曳( y )命令等等命令。都有例如如下的通常形式: ( command ) ( text object )形式。这里的command 就是咱们的c,d,y等命令,而text object则是光标移动命令。指明command影响的文本范围。因为光标移动命令可以使用数值參数,所以可以这样使用 "d2w", 而"2dw"也是全然同样的效果。

" r "命令可以把一个字符替换为还有一个字符。而且替换以后直接是命令行模式,不需要按下ESC键从输入模式回到命令模式。

相对于" r "命令,R命令也可以进行字符的替换,但是" r "键一次仅仅能替换一个字符,而按下R键后,则会进入覆盖模式。

即你输入的字符将逐一覆盖原有的字符,直到按下ESC键。但是R命令最多仅仅能覆盖一整行。

" s "命令:也是用于字符的替换,它可以指定数值參数,表明替换多少个字符。假设仅仅使用" s "命令。则表明替换当前光标所在的字符。

" s "命令首先删除需要被替换的字符。而后等待插入新的字符,插入完成后需要手动按下ESC键又一次回到命令模式。

S命令:S命令直接替换一整行文本,不管当前光标在该行的哪一个位置,都直接先将该行删除。

所以S命令等同于cc命令。但和C命令有差异。

更改大写和小写: 经过" ~ "命令完毕对当前字符的大写和小写转换。即当前假设是大写。则转化为小写,假设当前是小写。则转化为大写。更改以后光标本身主动移到下一个字符。


本章vi编辑器命令总结:

h,j,k,l,w,b,G,i。a,c。cc。C,r,R。s,S,~。

相关文章
相关标签/搜索