首页 > 代码库 > vi编辑器的使用

vi编辑器的使用

    vi编辑器是在linux环境工作经常需要用到的编辑器,本人今天下午略微有空把vi的使用整理成文本笔记。


命令模式:启动vi编辑器后默认进入命令模式。该模式中主要完成如光标移动,字符串查找,以及删除,复制,粘帖,文件内容等相关操作。

 

输入模式:该模式中主要的操作就是录入文件内容,可以对文本文件正文进行修改或者添加新的内容。处于输入模式时,vi编辑器的最后一行会出现‘--insert—‘的提示状态

 

末行模式:该模式可以设置vi编辑器的环境,保存文件,退出编辑器,以及对文件进行查找,替换等操作。处于末行模式时,vi编辑器的最后的一行会出现冒号":"提示符

 

模式的切换

 在命令模式中,使用a.i.o等按键可以快速切换至输入模式,同时确定插入点的方式和位置。需要返回命令模式时,按esc键即可,进入末行模式键入冒号":"。常见的几个几个切换至输入模式的快捷键如下。

a:在当前光标位置之后插入内容

A:在行尾插入内容。

i:在当前光标之前插入内容

I(大写i):在当前关标行首插入内容

o:在当前光标所在行的后面插入新行

O:在当前光标所在行的前面插入新行

 

命令模式使用

 

1.移动鼠标

直接使用键盘中的方向键"上,下,左,右"可以移动光标,如果你编辑的文件内容有1000行那么多,而你知道自己要编辑的内容在800,是不是就要一直按""800行呢?你可以这样做,但也可以在命令模式键入"800G"就直接跳到第800行,而"G"可以直接跳到文件内容的尾部,"gg"则是跳转回到文件内容的首部顺便提一下需要显示行数的话,可以在末行模式输入":set nu"就行了,取消则是"set nonu"。当你需要翻页浏览的内容时,"page up""ctrl B"可以向上翻页,"page down""ctrl F"则可以向下翻页。

 

2.复制.粘贴.和删除

 

复制:使用按键命令yy复制当前整行的内容到剪贴板,使用#yy的形式还可以复制从光标开始的"#"行进行。

 

粘贴:按小写"p" 即可将缓冲区的内容粘贴到光标位置之后,按大写"P"则会粘贴到光标处之前。

 

删除

  使用xdel按键删除光标处的单个字节。

 

  使用按键命令dd删除光标所在行,使用#dd的形式还可以删除从光标行开始处的#

进行删除(其中"#"代表一个整数),例如光标在第15行键入"6dd"的话就会删除1520行。

 

  使用按键命令d^删除当前光标之前到行首的所有字符

 

  使用按键命令d删除当前光标之处到行尾的所有字符

 

3.查找文件内容

/键可以输入指定字符串,从当前光标开始向后查找(按""键则是向前查找),完成查找之后可以用nN键在查找结果中来回切换。

 

4.向前向后更改操作

  有时候你难免会有一些失误操作,那么这时你可以使用"u""U"进行撤销,"u"键命令取消最近一次操作,多次键入即向上撤销:U键命令用于取消当前所有行所做的所有的编辑。(一定要注意的是你保存了的内容不能通过"u""U"进行撤销)

 

 

 

末行模式的使用

1.     保存文件及退出

 对文件进行修改后需要保存:

  :w

 若需要指定路径另存为,W后面加上路径即可:

  w /opt/httpd.bak

如果没有对内容进行任何修改,需要直接退出编辑器

:q

不保存内容并且强制退出,

 q!

 保存并且退出

:wq

x

或者在命令模式"shift + zz"

 

2.打开新文件或读取其他文件

打开新文件进行编辑,"e 文件"(不存在则新建)

  : e ~/install.log

在当前文件读入其他文件,": r 文件"

r /etc/passwd

 

 3.替换文件内容

  [替换范围] sub /旧内容/新内容 [/g]

 

单个字符或字符串替换

  sub /rpm/newrpm/g

  指定行数替换

  5,15 sub /rpm/newrpm/g

  整个文件替换

  : % sub /rpm/newrpm/g