vi操作命令

来源:互联网 发布:5g 投资 知乎 编辑:程序博客网 时间:2024/05/16 13:38

一、一般模式切换到编辑模式:

  i,I      进入插入模式,i为从目前光标所在处插入,I为在目前所在行的第一个非空格符处开始插入。

  a,A     进入插入模式,a为从目前光标所在的下一个字符处开始插入,A为从光标所在行的最后一个字符处开始插入

  o,O     进入插入模式,o为在目前光标所在的下一行处插入新的一行,O为在目前光标所在处的上一行插入新的一行

  r,R     进入替换模式,r只会替换光标所在的那一个字符一次,R会一直替换光标所在的文字,直到按下Esc键为止

 

二、一般模式切换到命令行模式:

  :w        保存

  :w!         强制写入”只读“文件

  :q        离开

  :q!        强制离开,不保存

  :wq       保存后离开

  :w [filename]  将编辑的数据保存为另外filename这个文件

  :n1,n2 w [filename]  将n1到n2的内容保存成filename这个文件

  :! command      暂时离开vi到命令行模式下执行command的现实结果

  :set nu      设置行号

  :set nonu  取消行号

 

三、常用命令

光标移动:

  [Ctrl] + [f]       屏幕向下移动一页

  [Ctrl] + [b]      屏幕向上移动一页

  n<space>       n表示数字,按下数字后再按空格键,光标会向右移动n个字符

  n<Enter>       n表示数字,光标向下移动n行

  0            移动到这一行的最前面字符处

  $            移动到这一行的最后面字符处

  G           移动到文件的最后一行

  nG           n为数字,移动到文件的第n行

  gg           移动到文件的第一行

查找与替换:

  /word            向下寻找一个名称为word的字符串

  ?word            向上寻找一个名称为word的字符串

  :n1,n2s/word1/word2/g    n1,n2为数字,在第n1与n2行之间寻找word1这个字符串,并替换为word2

  :1,$s/word1/word2/g    第一行到最后一行之间寻找word1这个字符串,并替换为word2

  :1,$s/word1/word2/g    第一行到最后一行之间寻找word1这个字符串,并替换为word2,替换前提示用户确认

删除、复制与粘贴:

  x,X       x向后删除一个字符,X向前删除一个字符

  dd        删除一行

  ndd        删除光标以下n行

  yy          复制光标所在一行

  dyy       复制光标以下n行

  p,P       p将已复制的数据在光标下一行粘贴,P则在光标上一行粘贴

 

  u        复原前一个操作

  [Ctrl] + r    重做上一个操作

0 0