首页 > 代码库 > vim编辑器

vim编辑器

全屏文件编辑器

 vivisual interface, Bill Joy,  S.U.N   SUNOS(Solaris)   VI可视化接口

 

 vimVI improved

 格式化编辑器:

编辑模式(命令模式)-----》默认的工作模式

末行模式

插入模式(输入模式)

可视化模式

 

一、vi/vim的打开方式:

   1vi/vim:打开 vi/vim的界面

   2vi filefile存在,则打开并将光标默认放置在第一行第一个字符;file不存在,则以新文件的方式打开,若保存,则文件被创建,若不保存,文件消失

   3vi +# file:指定在打开文件的时候,将光标定位在第#行行首,如果定位的行数比整个文档的行数还要大,则光标停留在最后一行的行首

   4vi + file:直接将光标定位在最后一行的行首

   5vi +/PATTERN/:打开文件,并将光标定位至首次被PATTERN匹配的行的行首位置;即只完成首次匹配

  Vim +/patttern/ 例如:pattern +cc开头的)

 

  例如:# vi +5 pick.sh

        # vi + pick.sh

二、vim的关闭方式

   末行模式的关闭:

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

     :q!   强制退出但不予保存

     :w   保存修改的内容

     :wq  保存修改的内容并关闭vim编辑器

     :wq!  root用户来说,一些只读文件的修改可以强制保存并退出

     :w!   强制保存

 编辑器模式的关闭:

ZZ:保存并退出

ZQ:不保存退出

ZZ\ZQ要用shift

5h向左移5

字:遇到空格等算一个字

只有绝对行尾,没有相对行尾

 

 

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

 1、逐字符移动:

1)、ARROW

2)、h:光标向左

      J:光标向下

      k:光标向上

      l:光标向右

2、逐字移动:

     w:移动到下一个字的字首

     e:移动到下一个字的字尾

     b:移动至上一个字的字首

3、行内跳转:

     0:绝对行首

     ^:相对行首

     $: 绝对行尾

4、行间跳转:

      #G直接将光标移动至第#

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

      gg:直接将光标移动至第一行  gg0一样,都是跳转至第一行第一个字符

 

 

  末行模式中的光标移动:

      :#  直接将光标移动至第#

      :1  直接将光标移动至第一行

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

四、翻屏

  Ctrl+f:向下翻一屏

  Ctrl+b:向上翻一屏

  Ctrl+d:向下翻半屏

  Ctrl+u:向上翻半屏

五、逐字符删除:

   x: 删除光标所在位置的单个字符  x:相当与delete

   X: 删除光标所在位置左侧的单个字符   X:相当于backspace

         3x   3X

 

六、编辑模式中的万能删除命令:

  d: 删除光标经过的所有内容

     dhdjdkdldARROWdwdedbdGdgg   光标移动的前面都可以加d

 

  dd:  删除光标所在行   dd 光标在中间的情况可以删除一行

 在末行模式下:Vim冒号定不能省略

   :d  删除光标所在行

   :#  删除第#

   :m+nd 删除从m行开始,再经过n行的所有行

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

   :.$d:删除从光标所在行到最后一行

   .:表示当前光标所在行     .:光标所在行,当前行(点)

   $:文档的最后一行

   .$:从光标所在行到文档最后一行

   m, +n:从当前光标所在行开始,在经过n

例:4,8d   :4,+4d

 

七、编辑模式中的万能粘贴命令:

   p: 向右向下进行粘贴

   P:(大写)向左向上进行粘贴

 末行模式下:

    粘贴:小p:向右向下

      P:向左向上

      例如:10p

八、编辑模式中的万能复制命令

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

用法与d命令相同

yy:复制光标所在行

九、模式的切换    

  1、从编辑器模式到末行模式:  切换:要配合nN

:输入命令

/和?  进行查找

nN  n表示顺序查找,N表示逆序查找

/:自上而下

?:自下而上

  2、从末行模式到编辑模式:

I:将光标移动至行首并进入输入模式

i: 在光标位置的前面插入字符

A:将光标移动至行尾并进入输入模式

a: 在光标所在位置的后面插入字符

O: 在光标所在行上面插入行

o: 在光标所在行下面插入行

cc: 删除整行内容后,进入输入模式

C:从光标所在位置删除至行尾,并进入输入模式

s: 删除光标所在位置的一个字符,进入输入模式

S: 删除整行内容后,进入输入模式     S相当于cc

 

  3、从输入模式到编辑模式:

    ESC

  4、从编辑模式到替换模式:

R:进入替换模式

  5、从替换模式到编辑模式:

   ESC

  6、从输入模式到可视化模式:     可视化:用键盘当鼠标用

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

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

     在选择完成之后可以进行复制或删除操作

     只要完成操作,就返回编辑模式

  注意:所在的模式切换必须经过编辑模式,两种非编辑模式之间无法进行直接进行切换

十、替换命令:

  r: 替换光标所在位置的一个字符

r:替换一个字符,字符多了不管用,不是替换模式

替换模式:qwyryt变为123456

十一、撤销编辑操作

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

  Ctrl+l:撤销最近的一次撤销操作

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

  .

十三、特殊的末行命令:

  1、显示和取消编号:

     :set number --->(简写):set nu     set number 显示行号

     :set nonumber --->(简写):set nonu

 2、开启或关闭字符大小写的区分:

  :set ignorecase  --->set ic

  :set noignorecase  --->set noic

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

   :set autoindent ---->:set ai

   :set noautoindent ---->:set noai

 4、开启或关闭查找高亮;

   :set hlsearch

   :set nohlsearch ---->nohl

 5、开启和关闭语法着色:

   :syntax on

   :syntax off

十四、Vimtutor

vimtutor当作命令来用,大篇幅

   

 

 

 


vim编辑器