一. unix linux 下标准编辑器为vi

 vi三种状态模式:命令模式(command mode )、插入模式(insert mode)、 底行模式(last line mode )。一般可以把底行模式归为命令模式

①命令模式: 控制屏幕光标的移动,字符、字或行的删除,移动复制某区域及进入 插入模式、或底行模式。

  备注:插入模式和底行模式均是在命令模式的情况下切换过去的;从插入模式或底行模式跳出的时候,也是默认跳出到命令模式

②插入模式: 只有在插入模式下才可以做文字的输入。按Esc 键退回到命令模式

③底行模式:文件保存或退出vi ,也可以设置编辑环境,如寻找字符串、列出行号。。。等等

二.vi基本操作

 1.进入vi 

   vi file  ;进入vi全屏幕编辑模式,当前模式为命令模式

   

2.切换到插入模式

 在命令模式下按 i ,a,o  ,即进入插入模式

 i ;从光标当前位置开始插入

 a ;从光标开始下一个位置开始插入

 o ;从光标开始下一行位置开始插入

 备注:如果在插入文字的时候想要删除文字,需要按Esc 退出到 命令模式才能删除

 

3.退出vi及保存文件

  在命令模式下先按 :,进入到底行模式

 :wq  存盘并退出

 :w newfilename 文件以指定的文件名newfilename 保存

 :q!  不存盘强制退出vi

 

4.移动光标

用上下左右光标可以移动,按小写的  h j  k  l (左下上右 )移动

0  ;数字0,移到文章的开头

G ; 大写字母g,移动到文章的结尾

$ ;移动到光标所在行的‘行尾’

^ ;移动到光标所在行的‘行首’

「#l」:光标移到该行的第#个位置,如:5l,56l。

5.删除文字

x  ;小写的x,删除光标所在位置的‘后面’一个字

X ;大写X,删除光标所在位置的‘前面’一个字

dd ;删除光标所在的行

#dd ;从光标开始所在行开始删除# 行,例 5dd,

6.复制

yw ;将光标开始的地方到字尾的字符复制到缓存区

yy :复制光标所在行到缓冲区。

#yy:例如,「6yy」表示拷贝从光标所在的该行"往下数"6行文字。

【p」:将缓冲区内的字符贴到光标所在位置。注意:所有与"y"有关的复制命令都必须与"p"配合才能完成复制与粘贴功能。

7.替换

r ;小写r,替换光标所在处的字符

R ;大写R, 替换光标所在之处的字符,知道按下Esc 键为止

8.撤回,恢复上一次操作

u ;小写的u,按一次撤回一步,按多次可以撤回多步。

9.更改

cw ;更改光标所在的字到字尾处

c#w :例【c3w]表示更改3个字

10.跳至制定行

Ctrl + g  ;列出光标所在的行号

#G ;15G ,表示移动光标至文章的第15行行首。

  

三、底行模式下命令简介

1.列出行号

「set nu」:输入「set nu」后,会在文件中的每一行前面列出行号。

2.跳到文件中的某一行

#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。

3.查找字符

「/关键字」:先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。

「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。

4. 保存文件

「w」:在冒号输入字母「w」就可以将文件保存起来。

5.离开vi

「q」:按「q」就是退出,如果无法离开vi,可以在「q」后跟一个「!」强制离开vi。:q

「wq」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件。:wq