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

  vivisual interface,可视化界面;

S.U.Nbill joy

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

1.语法着色显示;

2.更多的命令;

3.历史纪录;

 

 

 

vi:模式化文本编辑器

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

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

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

其他辅助模式:

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

  可视化模式:

 

 

vi/vim的操作:

一.打开vi的操作界面

 1.vi/vim命令;

 2.vim file;在{1.file存在,就直接使用vim打开此文件,默认是将光标放置于该文件的起始位置;2.如果file不存在,直接以新建文件的方式打开,若执行保存命令则文件会被写入磁盘;若不保存,文件会消失}

 3.vim +# file; 再打开指定文件是将光标直接定位在文件的第#行的行首。

 4.vim + file; 再打开指定文件时直接将光标停留定位在在后一行行首。

 5.vim +/PATTERN/;打开指定的文件时,将光标定位在被PATTERN匹配到的行的行首。

 

 

二.关闭vi的操作界面

 ex模式中的操作

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

 q!  直接关闭VIM编辑器(强制退出但不保存修改内容)

 wq   保存已修改的内容并关闭VIM编辑器

 wq!   对于无权更改的文件,强制保存并在保存后强制退出

编辑模式中的操作

 ZZ   保存并关闭VIM编辑器

 ZQ   不保存修改的内容并退出

 

三.在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:直接将光标移动至文档的第一行行首

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

 

四.翻页

 PAGE UP 或者 PAGE DOWN 实现翻页

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

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

^+d:向下翻半页,

^+u:向上翻半页,

 

 

五.删除字符

 (编辑模式中)

 1.逐字符删除:

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

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

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

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

  dhdldjdkd+arrowdwdedbdGdgg

  dd:删除当前光标所在行

  ex模式中)

  d:删除光标所在行,也相当于  :.d   .”指当前行

  #d:删除第#

  mnd:删除从第m行开始到第n行结束中间的所有行。

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

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

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

 

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

 

 

六.复制命令

 编辑模式中

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

  Yyhylyjyk……等

  yy:复制当前光标所在行

 

  ex模式中

  y:复制光标所在行,也相当于  :.y   .”指当前行

  #y:复制第#

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

  m+ny:复制从第m行开始,及其后面n行的所有内容。

  .+ny:复制从当前光标所在行开始,及后面n行的内容

  .$y:复制从当前光标所在行开始,到文档末尾所有内容

 

 

七.粘帖命令

编辑模式中

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

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

   ex模式中

 p

 

八.模式切换(面试)

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

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

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

  “/”或“?”:开启ex模式中的匹配查找功能(“/”默认是自上而下的查找顺序“?”默认是自下而上)

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

     n:表示顺序查找

     N:表示倒序查找

 

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

  双击ESC键;

  Enter键;

  Backspace键;

 

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

  iIaAoOsSCcc

  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 打开file1file2file3,等。

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

   prev:查看或编辑前一个文档

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

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

 

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

  -o:水平打开多个窗口

   ^ + w   up arrow down arrow;在多个窗口间切换

  -O:垂直打开多个窗口

   ^ + w   left arrow right arrow;在多个窗口间切换

 

 

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

  1.显示和取消行编号:

  set  number (简写为 set  nu

  set  nonumber(简写为ser  nonu

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

  set  ignorecase(简写为set  ic

  set  noignorecase(简写为set  noic

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

  set  autoindent(简写为 set  ai

  set  noautoindent(简写为 set  noai

4.开启或关闭语法着色

  syntax on

  syntax off

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

  set  hlserch

  set  nohlserch(简写为:nohl

6.另存为

  w  /path/to/somewhere

  mnw  /path/to/somewhere(指定的内容另存为)

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

  r  /path/from/somefiles

8.用shell命令(与shell交互)

  :!COMMAND

 

十四.vimtutor

VIM教程可详细阅读。