vi的使用




基本上vi共有三种模式:	
	一般指令模式(默认的模式)
	编辑模式(按下i I o O a A r R,左下方出现INSERT或者REPLACE的字样,才可以进行编辑,也可以按下ESC按键退出编辑模式)
	指令列命令模式(在一般模式中,输入: / ?三个中的任意一个按钮,可以将光标移动到最后一行)
	

vi 打开或者创建一个文件
:wq    存盘(write)并离开(quit)
:wq!    强制写入


一般指令模式————————————————————————移动光标的方法

h或左方向键		光标向左移动一个字符
j或下方向键		光标向下移动一个字符
k或上方向键		光标向上移动一个字符
l或右方向键		光标向右移动一个字符

扩展:向下移动30行可以在一般指定模式使用"30j"或者30+向下方向键

上下页
ctrl+f		屏幕向下移动一页,相当于Page Down按键(常用)
ctrl+b		屏幕向上移动一页,相当于Page Up按键(常用)
ctrl+d		屏幕向上移动半页
ctrl+u		屏幕向上移动半页

+光标移动到非空白字符的下一列
-光标移动到非空白字符的上一列

n<space>	n表示数字,列如20<span>则光标会向后移动20个字符距离


0或功能键(Home)		数字“0”,移动到这一列的最前面字符处(常用)
$或功能键(End)		移动到这一列的最后面字符处(常用)
H	光标移动到这个屏幕的最上方的那一列的第一个字符
M	光标移动到这个屏幕的中央那一列第一个字符
L	光标移动到这个屏幕的最上方的那一列的第一个字符	
G	移动到这个文件的最后一列
nG		n为数字。移动到这个文件的第n列。可配合:set nu
gg		移动到这个文件的第一列,相当于1G(常用)
n<Enter>	n为数字。光标向下移动n列(常用)

一般指令模式————————————————————————搜寻与取代
/word	向光标之下寻找一个名称为word的字串。(常用)
?word	向光标之上寻找一个字串为word的字串
n	这个n是英文按键.代表重复前一个搜寻的动作,向下搜寻下一个。
N	代表重复前一个搜寻的动作,向上搜寻上一个。
	注: /word配合n及N是非常方便的,可以让你重复的找到你搜寻的关键字
:n1,n2s/word1/word2/g	在第n1行与n2行之间寻找word1这个字串,并将该字串取代为word2.
	举例	:1,10s/sudo/yang/g 在第一行到第十行之间搜寻sudo并把sudo换成yang(常用)
:1,$s/word1/word2/g	在第一行与最后一行之间寻找word1这个字串,并将该字串取代为word2.(常用)
:1,$s/word1/word2/gc	在第一行与最后一行之间寻找word1这个字串,并将该字串取代为word2.且在取代前显示提示字符给使用者(cofirm)是否需要取代(常用)


一般指令模式————————————————————————删除、复制与粘贴
x	删除后面的一个字符	X	删除前面的一个字符(常用)
nx/Nx	n为数字,连续向后/前删除n个字符。举例来说,我要连续删除10个字符
dd	删除光标所在的那一整行(常用)
ndd		n为数字。删除光标所在的向下n列,例如20dd则是删除20行(常用)
d1G		删除光标所在到第一列的所有数据
dG	删除光标所在到最后一列的所有数据
d$	删除光标所在处
d0	那个是数字的0,删除光标所在处
yy	复制光标所在的那一行(常用)	
nyy		n为数字。复制光标所在的向下n列,例如20yy则是复制20列(常用)
y1G	复制光标所在行到第一行的所有数据
yG	复制光标所在行到在最后一行的所有数据
y0	复制光标所在的那个字符到该行行首的所有数据
y$	复制光标所在的那个字符到该行行尾的所有数据
p,P	p将已复制的数据在光标下一行贴上,P则为贴在光标上一行(常用)
J	将光标所在行与下一行的数据结合成同一行
c	重复删除多个数据,例如向下删除10列 10cj
u	复原前一个动作(常用)
ctrl+r	重做上一个动作(常用)
.	重复前一个动作的意思



一般指令模式切换到编辑模式的可用的按钮说明—————————————————进入插入或取代的编辑模式
i,I	进入插入模式i为从目前光标所在处插入,I为在目前所有列的第一个非空白字符处开始插入(常用)
a,A	进入插入模式a为从目前光标所在的下一个字符开始插入,A为从光标所在列的最后一个字符处开始插入(常用)
o,O 进入插入模式o为目前光标所在的下一行处插入新的一行,O为在目前所在处插入新的一列(常用)
r,R 进入取代模式r只会取代光标所在的哪一个字符一次,R会一直取代光标所在的文字,直到按下esc为止(常用)


一般指令模式切换到指令列模式的可用的按钮说明—————————————————进入插入或取代的编辑模式
:w	将编辑的数据写入硬盘文件中(常用)
:w!	若文件属性为"只读"时,强制写入该文件。不过,到底能不能写,还是跟你对该文件的权限有关。
:q	离开vi(常用)
:q!	若曾修改过文件,又不想存储,使用!为强制离开不储存盘案。
:wq	储存后离开,若为:wq! 则为强制储存后厉害(常用)
ZZ	这是大写的Z喔!若文件没有更动,则不储存离开,若文件已经被更动过,则储存后离开。
:w [filename]	将编辑的数据储存成另一个文件(类似另存新文件)
:r	[filename]	在编辑的数据中,读入另一个文件数据。
:n1,n2 w [filename]	将n1到n2的内容储存成filename这个文件
:! command	暂时离开vi到指令模式下执行 command的显示结果!例如":! ls /home" 即可在vi中察看/home下面以ls输出的文件信息
:set nu	显示行号
:set nonu	与set nu相反,为取消行号
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值