什么是vi:

    vi是Linux/Unix底下最常用的文本编辑器,可以理解为和Windows下的txt一样,咱们一般操作linux服务器的时候都是没有图形化界面的, 怎么移动光标,到哪个位置,替换修改什么的都得用vi里面的操作 

 

vi有两种模式

命令模式

 

        进入vi时的默认模式,此模式下所有的用户输入都视为命令 
        用户在此模式下进行搜索、复制、替换等

编辑模式
        用户在此模式下可以编辑文本内容,也就是这个模式下,可以随便输入内容,编辑模式只有一个作用,就是输入内容,其他的查找、粘贴、替换等等都得在命令模式下操作
模式切换

 

        命令模式进入编辑模式:

                 i  当前位置

                 a 下一位置

                 o  下一行

 

       编辑模式模式:

              esc

 

 区分编辑模式和命令模式就看左下角有没有insert,左下角如果有insert就是编辑模式。    

下面介绍命令模式常用的操作,注意都是在命令模式下的

 

 

退出vi

    

 

 


1

2

3

4

5



:qvi

:q! 不保存退出

:wq 保存退出

:x  保存退出

:w 保存


 

 

光标定位

 

 

 


1

2

3

4

5

6

7

8

9



M 移动光标到页面中央

L移动光标到页面尾处

H移动光标到页面开始处

Ctrl+f向后翻页

Ctrl+b向前翻页

0移动光标到行首

$移动光标到行尾

/:从上往下开始查找,然后按n寻找下一个

?:从下往上开始查找,然后按n寻找下一个


 

 

撤销、重复、查找

 

 

 


1

2

3

4



/xxx  从上往下开始查找

?xxx  从下往上开始查找

u   撤销

.  重复前一个动作


 

 

复制、粘贴、删除

 

 

 


1

2

3

4

5

6

7

8

9

10

11

12

13



nyyn行内容

p    在光标处粘贴复制的内容

nddn行的内容

ctrl+d   往下翻半屏内容

ctrl+u   往上翻半屏内容

shift+g  到文件末尾

dd         删除整行

:setnumber  显示行号

:setnonu    取消显示行号

:1,3y 复制第一行到第三行

:1,3d 删除第一行到第三行

:1,3s/str/str_new/g 替换第一行到第三行中的字符串

:%s/str/str_new/g 替换所有行中的字符串


人生很贵 请别浪费