Vi,是一款由加州大学伯克利分校Bill Joy 研究开发的文本编辑器。


  文本编辑器有很多,比如图形模式的geditkwriteOpenOffice,文本模式下的编辑器有vivimvi的增强版本)。vivim是我们在Linux中最常用的编辑器。vivimLinux最基本的文本编辑工具,vivim虽然没有图形界面编辑器那样点鼠标的简单操作,但vi编辑器在系统管理、服务器管理字符界面中,永远不是图形界面的编辑器能比的。

 (注意:viunix/linux操作系统中最经典的文本编辑器,只能是编辑字符,不能对字体、段落进行排版;它既可以新建文件,也可以编辑文件;他没有菜单,只有命令,且命令繁多。虽然vi的操作方式与其他常用的文本编辑器(如gedit)很不相同 ,但是由于其运行于字符界面,并可用于所有unix/linux环境,目前仍被经常使用。)


VI常用命令:

VI编辑器(vim)_第1张图片

  

    

vi 的三种命令模式

1.Command(命令)模式,用于输入命令

2.Insert(插入)模式,用于插入文本

3.Visual(可视)模式,用于视化的的高亮并选定正文

(注:不同的版本所给与vi的三种工作模式也不同。vi有三种工作模式:命令模式、文本编辑模式和最后行模式。不同工作模式下的操作方法有所不同。

1.命令模式:

命令模式是启动vi后进入的工作模式,并可转换为文本编辑模式和最后行模式。在命令模式下,从键盘上输入的任何字符都被当作编辑命令来解释,而不会在屏幕上显示。如果输入的字符是合法的vi命令,则vi就会完成相应的动作;否则vi会响铃警告。

2.文本编辑模式:

文本编辑模式用于字符编辑。在命令模式下输入i(插入命令)、a(附加命令)等命令后进入文本编辑模式,此时输入的任何字符都被vi当作文件内容显示在屏幕上。按Esc键可从文本编辑模式返回到命令模式。

3.末行模式:

在命令模式下,按“:”键进入最后行模式,此时vi会在屏幕的底部显示“:”符号年作为最后行模式的提示符,等待用户输入相关命令。命令执行完毕后,vi自动回到命令模式。

为了实现跨平台操作兼容不同类型的键盘,在vi编辑器中无论是输入命令还是输入内容都是用字母键。例如按字母键“i”在文本编辑模式下表示输入字母“i”,如果在命令模式下则表示将工作模式转换为文本编辑模式。)


不同模式的切换

VI编辑器(vim)_第2张图片

a:在光标位置之后输入

i:在光标位置之前输入

o:在光标位置下一行插入

O:在光标位置上一行插入



当我们按ESC进入Command命令模式后,我们可以用下面的一些键位来移动光标

1.方向移动:

  j 向下移动一行

  k 向上移动一行

  h 向左移动一个字符

  l 向右移动一个字符

     向上箭头 向上移动

  向下箭头 向下移动

  向左箭头 向左移动

  向右箭头 向右移动

2.翻页:

 ctrl+b 或page up 向上移动一屏

 ctrl+f 或page down 向下移动一屏

3.行间快速跳转

 1G 或 gg 跳转至文件的首行

 G  跳转至文件的末行

 #G 跳转至文件的第#行

4.行内快速跳转

 Home键或者“^”.数字“0”  跳转至行首

 End键或者“$”  跳转至行尾

5.行号显示

 :set nu 在编辑器中显示行号

 :set nonu 取消编辑器中的行号显示

VI编辑器(vim)_第3张图片




文本内容的删除操作;

x或Del 删除光标处一个字符

#x 删除几个字符#表示数字,比如3x

dw 删除一个单词

#dw 删除几个单词,#用数字表示,比如3dw表示删除三个单词

dd 删除一行;

#dd 删除多个行,#代表数字,比如3dd 表示删除光标行及光标的下两行

d$ 删除光标到行尾的所有字符

d^ 删除光标到行首的所有字符


复制操作

yy命令复制当前整行的内容到vi缓冲区

yw复制当前光标所在位置到单词尾字符的内容到vi缓存区,相当于复制一个单词

y$复制光标所在位置到行尾内容到缓存区

y^复制光标所在位置到行首内容到缓存区

#yy例如:5yy就是复制5

#yw例如:2yw就是复制两个单词

如果要复制第m行到第n行之间的内容,可以在末行模式中输入mny例如:35y复制第三行到第五行内容到缓存区。


黏贴

1.p 将复制的内容粘贴到光标之后

2.P 将复制的内容粘贴到光标之前

VI编辑器(vim)_第4张图片

补充:ddp:将光标位置所在行与下一行互换


文件内容查找

/word :从上而下在文件中查找字符串“word”

?word :从下而上在文件中查找字符串“word”

n 定位下一个匹配的被查找字符串

N 定位上一个匹配的被查找字符串

VI编辑器(vim)_第5张图片


撤销编辑及保存退出

u:取消最近一次的操作,可以使用多次来恢复原有的操作 [1] 

U:取消所有操作

ZZ:保存当前文件内容并退出Vi编辑器



文件内容替换

VI编辑器(vim)_第6张图片

VI编辑器(vim)_第7张图片

VI编辑器(vim)_第8张图片