首页 > 编程知识 正文

怎么调用vi编辑器,vi编辑器的模式有

时间:2023-05-05 09:14:32 阅读:165082 作者:931

前言vim/vi介绍vi/vim学习映射(初级)3.文本编辑)状态)概要4 .使用VI打开文本方式5 .命令模式1 .进入插入模式)进行文本编辑)。 2 .从插入模式切换到命令行模式3 .移动光标4 .删除内容5 .复制6 .搜索7 .编辑更改8 .跳转到指定行9 .撤消和恢复6 .底部行模式(last line mode )1.保存结束2 .

前言本节详细介绍如何在linux上进行文本编辑。 Vim/vi介绍了一种软件编辑界面,用于在使用linux系统时缺省调用vim文件编辑器,如crontab、Visudo和edquota。 Vim有编辑程序的能力。 例如,c c等会积极利用不同字体的颜色来判别语法的正确性。 必须安装插件才能参与程序的创建。

学习文本编辑时,请确保了解Vim/vi的使用,因为Linux命令缺省情况下会调用vim作为数据编辑界面。

虚拟机安装: yum install vim

二. vi/vim学习地图(初级)文本编辑可参照下图进行学习。

3 .文本编辑(状态)概要

1.状态概览

命令模式(command mode )、输入/插入模式(Insert mode )、编辑/下行模式(last line mode )三种状态,各模式的功能可分为以下几种。

命令模式command mode )

打开vi的初始状态是命令模式,用于控制屏幕光标的移动; 删除/移动复制字符、单词或行; 按I等字符进入Insert mode下,按:进入last line mode。 插入模式/插入模式(Insert mode )。

只能在Insert mode下输入文字,按“ESC”键返回指令模式(command mode )。 底部模式(last line mode ) )。

也可以将文件保存到vi或退出,并设置字符串搜索、行号列表等编辑环境。 在跳转到命令模式之前,必须设置底部行模式。2.进入vi

在提示符下输入vi和文件名,进入vi全屏编辑画面。

$ vi file

但是,有需要特别注意的事情。 进入vi后,进入“命令行模式”,必须切换到“插入模式”才能输入文本

3.切换至插入模式(Insert mode)编辑文件

在“命令行模式”(command mode )下,单击字符I以进入“插入模式”(insert mode ),然后开始键入字符。

4.Insert 的切换

现在进入“插入模式”的情况下,只能继续输入文字。 如果注意到输入了错误的字符,请输入。 使用光标键向前移动,想删除该文字时,请按“ESC”键移动到“命令行模式(command mode )”后删除文字。

5.退出vi及保存文件

在命令行模式下,单击“:”冒号进入最后一行模式。 例如:

3360 filename (输入“w filename”将文章保存为指定的文件名)。

3360 wq (输入“wq”并保存磁盘以退出vi ) )。

: q! (输入q!不保存磁盘而强制退出vi )

4 .如何在VI中打开文本如何在VI中打开文本

打开或创建一个新的vi filename :文件,并将光标置于第一个vi n filename中。 打开文件,将光标置于第一个vi filename中,并将光标置于最后一个vi /pattern filename中。 打开文件。 将光标放在与pattern匹配的第一个字符串上,然后vi -r filename :上次在vi中编辑时发生系统崩溃,filenamevi filename.filename :打开多个文件,5 .帧

I )在光标之前;I )在当前行的开头;a )在光标之后;o )在当前行的末尾;o )在当前行的上方创建新行;r )替换当前字符;r )替换当前字符和后续字符;直到按ESC键s, s )从当前光标位置开始,用输入的字符替换指定字符。要删除指定数量的行并移动ncw或ncw 3.光标,可以直接使用键盘上的光标上下左右移动,但取决于unix操作系统

按下“ctrl”“b”,画面将向“后”移动一页。 按下“ctrl”“f”,画面将“向前”移动一页。 按下“ctrl”“u”,画面将移动到“后面”

移动半页。 按「ctrl」+「d」:屏幕往"前"移动半页。 space:光标右移一个字符Backspace:光标左移一个字符Enter :光标下移一行w或W :光标右移一个字至字首b或B :光标左移一个字至字首e或E :光标右移一个字j至字尾) :光标移至上一行行首( :光标移至下一行行首}:光标移至段落开头{:光标移至段落结尾G:光标移动到文档最末位gg: 光标移动到文档最开始位置n+:光标下移n行n-:光标上移n行n$:光标移至第n行尾H :光标移至屏幕顶行M :光标移至屏幕中间行L :光标移至屏幕最后行0:(注意是数字零)光标移至当前行首$:光标移至当前行尾 4.删除内容 #x:例如,「6x」表示删除光标所在位置的"后面"6个字符。 #X:例如,「20X」表示删除光标所在位置的"前面"20个字符。 dd:删除光标所在行。 ndw或ndW:删除光标处开始及其后的n-1个字d0:删至行首d$:删至行尾ndd:删除当前行及其后n-1行x或X:删除一个字符,x删除光标后的,而X删除光标前的Ctrl+u:删除输入方式下所输入的文本 5.复制 yw:将光标所在之处到字尾的字符复制到缓冲区中。 nyw:复制n个字到缓冲区 yy:复制光标所在行到缓冲区。 yy:例如,6yy表示拷贝从光标所在的该行"往下数"6行文字。 y$: 复制到行位p:将缓冲区内的内容插入当前光标后。P: 将缓冲区内的内容插入当前光标前。]p: 将缓冲区内的内容插入到合适的缩放处 6.查找 /pattern:从光标开始处向文件尾搜索pattern?pattern:从光标开始处向文件首搜索patternn:在同一方向重复上一次搜索命令N:在反方向上重复上一次搜索命令

7. 编辑更改

cw:更改光标所在处的单词c#w:例如,c3w表示更改3个单词r:替换掉当前光标内容,插入J: 将当前光标所在下一行与本行进行合并后,进入插入模式cc: 删掉整行,进入插入模式c$: 删除光标到句尾的内容,进入插入模式s: 删除当前字符,进入插入模式S: 删除当前行,进入插入模式guu: 使当前单词全部变为小写gUU: 使当前单词全部变为大写g~~: 改变单词的大小写(大写变成小写,小写变成大写)~: 改变光标字母的大小写<<:往前缩进>>: 往后缩进 8.跳至指定的行 ctrl+g列出光标所在行的行号。 nG:例如,15G,表示移动光标至文章的第15行行首。 9. 撤销和恢复

编辑文件内容时,对文件内容做了修改之后,却发现整个修改过程是错误或者没有必要的,想将内容恢复到修改之前的样子;将文件内容恢复之后,经过仔细考虑,又感觉还是刚才修改过的内容更好,想撤销之前做的恢复操作。基于这 2 种需求,便有了撤销和恢复撤销的快捷键。

以上三个快捷键必须在 Vim 编辑器处于命令模式时才能使用。
例子:输入www.zaishu.cn
然后按“Esc”键,使 Vim 由输入模式转为命令模式,并使用 yy 命令将这一行文本复制到剪贴板中,将光标调整到第一行最后一个字符处,连续按三次 p 命令(粘贴 3 次),则此时文本中的内容变为:

[root@zaishu ~]# vi zaishu.txtwww.zaishu.cnwww.zaishu.cnwww.zaishu.cnwww.zaishu.cn~

1. u
u(小写)命令就可以使文本内容恢复到上一次做粘贴操作之前的样子,其中“上一次”的含义是,恢复操作是可以叠加的,即按一次就会在现有基础上做一次恢复操作。
比如,继续操作 zaishu.txt 文件,按一次 u,会发现其文本内容变为:

[root@zaishu ~]# vi zaishu.txtwww.zaishu.cnwww.zaishu.cnwww.zaishu.cn

再按一次 u,文本内容继续恢复为:

[root@zaishu ~]# vi zaishu.txtwww.zaishu.cnwww.zaishu.cn

2. ctrl+r
恢复撤销的操作和撤销操作是相对应的,通过按 Ctrl+r组合键,可以撤销之前所做的一次恢复操作。
按一次 Ctrl+r,会发现其文本内容恢复为:

[root@zaishu ~]# vi zaishu.txtwww.zaishu.cnwww.zaishu.cnwww.zaishu.cn

再按一次 Ctrl+R,文本内容又恢复为:

[root@zaishu ~]# vi zaishu.txtwww.zaishu.cnwww.zaishu.cnwww.zaishu.cnwww.zaishu.cn

3. U
大写U的功能,它的作用是 撤销或恢复撤销 对光标所在行文本所做的全部操作。

[root@zaishu ~]# vi zaishu.txtwww.zaishu.cnwww.zaishu.cnwww.ishu.n //将这一行的a和c去掉www.zaishu.cn~

按U 全部被恢复了:

[root@zaishu ~]# vi zaishu.txtwww.zaishu.cnwww.zaishu.cnwww.zaishu.cnwww.zaishu.cn

再 U(大写),则又会恢复之前对第 3 行文本的全部操作:

[root@zaishu ~]# vi zaishu.txtwww.zaishu.cnwww.zaishu.cnwww.ishu.nwww.zaishu.cn 六.底行模式(last line mode)

在使用last line mode之前,请记住先按ESC键确定您已经处于command mode下后,再按:冒号即可进入last line mode。

1. 保存退出

w:在冒号输入字母w就可以将文件保存起来。 x:保存当前文件并退出等同于wqq:按q就是退出,如果无法离开vi,可以在q后跟一个!强制退出。 qw:一般建议离开时,搭配w一起使用,这样在退出的时候还可以保存文件。 q! : 强制退出,做的任何修改不做保存退出。 2. 多文件操作

e file: 打开新的文件进行编辑sp file: 打开新的文件,并且划分窗口。 ctrl-w: 多窗口操作。通过多个窗口打开多个文件,还可以对窗口进行操作。常用的会使用ctrl-w w: 切换窗口(切换不同的文本进行编辑)ctrl-w q: 退出窗口(退出当前文本窗口的编辑) 3. 查找和替换

/pattern:从光标开始处向文件尾搜索内容?pattern:从光标开始处向文件首搜索内容n:在同一方向重复上一次搜索命令N:在反方向上重复上一次搜索命令 :s/old/new/g:将当前行中所有old均用new替代:n1,n2s/old/new/g:将第n1至n2行中所有old均用new替代:%s/old/new/g:将文件中所有old均用new替换 4. 列出和跳转行号 set nu:会显示文本当中的行号。 n:n表示一个数字,在冒号后输入一个数字,例如输入109,则光标会跳转到109行。 5. 内容处理 :n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下:n1,n2 m n3:将n1行到n2行之间的内容剪切到第n3行下:n1,n2 d :将n1行到n2行之间的内容删除 七.执行命令

在此编辑器中,还可以直接使用 Linux 命令来进一步提高文件编辑的效率,由于 Vim 编辑器中支持直接执行 Linux 命令,可以将一个命令的输出结果存入正在编辑的文件。

常见用法:

:!command:执行shell命令command:n1,n2 w!command:将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入[. 代表当前光标位置,$ 表示到文档结尾 g表示到行位]:r!command:将命令command的输出结果放到当前行的下面。 1. 跳出vi执行命令 [root@zaishu web]# vi shu2 1a2b3c4d5e6f7g~ ~ :! ls -l

效果,跳出vi界面,得到ls -l的结果

[root@zaishu web]# vi shu2 total 4-rw-r--r-- 1 root root 21 Oct 25 17:02 shu2Press ENTER or type command to continuetotal 4-rw-r--r-- 1 root root 21 Oct 25 17:02 shu2Press ENTER or type command to continue[root@zaishu web]# vi shu2 total 4-rw-r--r-- 1 root root 21 Oct 25 17:02 shu2Press ENTER or type command to continue 2.将命令输入到文本

输入ls -l命令,将命令的输出内容放到当前光标下面

[root@zaishu ~]# vi zaishu.txt1a2b3c4d //光标所在位置5e6f7g:r! ls-l

执行后,结果如下:

[root@zaishu ~]# vi zaishu.txt1a2b3c4dtotal 4-rw-r--r-- 1 root root 21 Oct 25 17:02 shu25e6f 3. 选定范围作为命令的输入 [root@zaishu ~]# vi shu2 1a2b3c4d5e //光标当前位置6f7g:.,$!sort -nr -k1 //从光标当前位置到文档结尾,进行降序排序

:.!表示操作文本的范围,其中 . 表示从光标所在行开始,! 表示后续会执行 Linux 命令,执行结果将插入到文本,并且将操作的文本范围内容覆盖。
[root@zaishu ~]# vi shu2

1a2b3c4d7g6f5e 4. 将指定的行调换顺序

将4,5行按降序调换

[root@zaishu ~]# vi shu2 1a2b3c4d5e 6f7g:4,5$! sort -nr -k1 [root@zaishu ~]# vi shu2 1a2b3c5e4d6f7g 总结 本小节详细介绍vi/vim编辑器的使用,对于lldxm或者linux运维人员已经完全够用,后续对于文本编辑器其他使用方法,例如插件的使用,vimrc文件的配置,利用vim制作自己的开发工具等高级功能可参照后面的文档。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。