vi编辑器:全屏的文本编辑器

  viVisual Interface,可视化界面;

   S.U.NBill JoyviSpaceSUNOSSolaris);

   vimvi IMprove

 

   vim相对于vi有更多的新特性;

     1.语法着色显示;

     2.更多的命令;

     3.历史记录;

 

vi:模式化文本编辑器

   模式:

     编辑模式(命令模式),默认工作模式;

     插入模式(输入模式),文本信息的自由编辑;在左下角有Inset”标记;

     ex模式(末行模式),对于编辑器本身某些属性和功能的设定;也可以进行文本的编辑操作;

    其他辅助模式:

      替换模式:输入的信息直接替换光标所在位置的内容;

      可视化模式:

 

vi/vim的操作:

  一、打开vi/vim操作界面:

   1.vi/vim命令;

   2.vim file

1)file存在,就直接使用vim编辑器打开此文件,默认时将光标放置于该文件的起始位置,即:第一行的第一个字符:

2)file不存在,就直接以新建文件的方式打开,若执行保存命令,则文件会被写入磁盘:若不保存,则文件会小时;

3.vim +# file

   在打开指定文件时,将光标直接定位在文件的第#行的行首;如果给定的数字比文件的行数要大,则光标直接停留在最后一行的行首

4.vim + file

       在打开指定文件时,直接将光标定位在文件的最后一行的行首;

5.vim +/PATTERN/

   在打开指定文件时,将光标定位在首次被PATTREN匹配到的行的行首;

 

二、关闭vi/vim的操作界面;

   ex模式中的操作:

     q

        直接关闭vim编辑器,不保存修改内容;

     q

        直接关闭vim编辑器,并且强制退出但不保护修改的内容;

     wq

        保存已修改的内容,并关闭vim编辑器;

     wq

        对于无权更改的文件强制保存,并且在强制保存之后强制关闭vim编辑器;

  

  编辑模式中的操作:

ZZ:保存并关闭vim编辑器;

ZQ:不保存已经修改的内容而直接关闭vim编辑器;

 

三、vim的编辑模式中,光标的移动方式:

   1.逐字符移动:

     1Left Arrow 或者Right Arrow

     2h:光标向左移动;l:光标向右移动;

   2.逐字移动:

     w:移动光标至下一个字的字首;

     e:移动光标至当前字或下一字的字尾;

     b:移动光标至前一字的字首;

   3.行内光标跳转:

     0:绝对行首

     ^:相对行首

     $:相对行尾;

   4.行间跳转:

     1Up Arrow或者Down Arrow

     2J:向下移动一行;k:向上移动一行;

     3#G:直接将光标移动至第#行行首;

     4G:直接将光标移动至文档的最后一行;

     5gg:直接将光标移动至为文档的第一行;

ex模式中的光标移动:

  :#:直接将光标移动至的指定行号#的行者;

   :1:直接将光标移动至文档的第一行行首;

   :$:直接将光标移动至文档的最后一行行首;

 

四、翻页:

   PageDown PageUp 可以实现翻页;

   ^+f:向下翻一页,向前翻一页

   ^+b:向上翻一页,向后翻一页

   ^+d:向下翻半页

   ^+u:向上翻半页

 

五、删除字符:

   1.逐字符删除:

     x:删除光标所在位置的字符;

     X:删除光标所在位置的左侧的一个字符

   2.删除光标移动过程中经常的所有内容:

d:删除光标移动过程中经过的所有内容;

  dhdldjdkdArrow,dwdedbdGdggd0d$d^

dd:删除当前光标所在行

 

ex模式中的操作:

:d :删除光标所在行;想当于:.d :其中.指的是当前行;

:#d :删除第#

:m,nd :删除从第m行开始,到第n行结束中间的所在行;

:m,+nd :删除从第m行开始,及其后面n行的内容;

:.,+nd :删除从当前光标所在行开始,及其后面n行的内容;

:.,$d:删除从当前光标所在行开始,到文档末尾的所有内容;

 

  注意:在vim的操作中,所有的删除操作,同时意味着剪切;;

 

六、复制命令

  编辑模式中的操作:

   y:复制光标移动过程中经过的所有内容:

 

   yhylyjykyArrowywyeybyGyggy0y$y^

   yy:复制当前光标所在行;

ex模式中的复制:

   :y :复制光标所在行,都第n行结束中间 的所有行;

   :#y :复制到第#

   :m,ny :复制从第m行开始,到第n行结束中间的所有行

   :m,+ny :复制从

 

 

七、粘贴命令

编辑模式中的操作:

     plower):如果是行内的复制或剪切操作,在光标右侧完成粘贴;如果是多行的复制或剪切操作,在光标的下方完成粘贴;

     pUpper):如果是行内的复制或剪切操作,在光标左侧完成粘贴,如果是多行的复制或剪切操作,在光标的 上方完成粘贴;

ex模式的操作:

 :P

 

八、模式切换

   编辑模式(命令模式)被称为vi编辑器的基础工作模式;所有其他模式之间进行切换的中转站

 

 1.编辑模式 --> ex模式:

   ::表示进入ex模式并完成命令的执行;

   / ?:开启ex模式中的匹配查找功能;

     /默认是自上而下的查找顺序;

     ?默认是自下而上的查找顺序;

 

     nN命令在各个匹配的关键字之前跳转:

     n:顺序查找

     N:倒序查找

 

 2.ex模式 --> 编辑模式

双击ESC

Enter

Backspace

 

3.编辑模式 --> 输入模式(插入模式):

   iIaAoOsS

   i:在光标所在在位置的左侧开始输入

   I:在首行开始输入

   a:在光标所在位置的右侧开始输入

   A:在行尾开始输入;

   o:在当前光标所在行的下方插入一个新行;

   O:在当前光标所在行的上方插入一个新行;

   s:删除光标所在位置的字符,在光标的左侧开始输入;

   S:删除光标所在位置的字符,在光标的右侧开始输入;

   C:删除光标所在位置直到行尾

   cc:想当于S命令;

 

4.输入模式 -->编辑模式

  ESC

5.编辑模式 -->替换模式

   R:进入替换模式

6.替换模式 -->编辑模式

   ESC

 7.编辑模式-->可视化模式

   v:按照字符为单位进行矩形选取;

   V:按照行为单位进行矩形选取;

  

  注意:

1)在选取完成之后,可以使用d命令进行删除,也可以使用y命令进行复制;

2)只要选取完成,即立刻返回编辑模式;

 

   注意:所有的其他模式都只能和编辑模式相互切换;如果有两种非编辑模式之间试图切换,则必须经过编辑模式

 

 

九、替换命令

  r:不要进入输入模式而替换光标所在位置的字符;

 

十、撤销命令

  U:撤销当前行内的操作;

  u:撤销此前的一次编辑操作

 

 ^+r:撤销最后一次被撤销的操作

 

十一、重复之前的一次编辑操作

 

十二、多文档编辑

  1.vim file1 file2 file3...

     :next 查看或编辑后一个文档

     :prev 查看或班级前一个文档

     :first  查看或编辑第一个文档

     :last  查看或编辑最后一个文档

  2.vim -o | -O file1 file2 file3..

-o:水平打开多个窗口

 ^+wup arrow | down arrow :在多个窗口间切换;(先按ctrl+W,松手再按箭头)

-O:垂直打开多个窗口

 ^+wleft arrow | right arrow :在多个窗口间切换;

 

十三、ex模式中的常用命令

   1.显示和取消行的编号:

 :set number(简写为:set nu

 :set nonumber(简写为:set nonu

   2.开启或关闭字符大小写的敏感度:

:set ignorecase(简写为:set ic

:set noignorecasr(简写为:set noic

   3.开启或关闭自动缩进功能:

     :set autoindent (简写为:set ai

     :set noautoindent(简写为:set noai

 

   4.开启或关闭语法着色

:syntax on

:syntax off

 

   5.开启或关闭查找高亮显示:

:set hlsearch

:set nohlsearch(简写为:set nohl

 

   6.另存为

      :w /path/to/somewhere

      :m,nw /path/to/somewhere

   

   7.从其他文件直接读取内容并添加到当前文件中

:r /path/form/somefile

 

   8.shell交互,调用该shell命令

     :COMMAND

 

十四、vimtutor