vi快捷键按键说明

基本上vi分为三种模式:一般命令模式、编辑模式、命令行模式。
以下是常见按键说明:

1.一般命令模式按键说明

包括光标移动、复制粘贴、查找替换等

1.1移动光标

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

左右箭头就是方向键的上下左右,其实你会发现h、j、k、l是在键盘上排列在一起的,比如说,你要向下移动30行,就可以使用“30j”的组合按键,亦即加上想要进行的数字后,按下操作即可。

[ctrl]+[f]屏幕向下移动一页
[ctrl]+[b]屏幕向上移动一页
[ctrl]+[d]屏幕向下移动半页
[ctrl]+[u]屏幕向上移动半页
+光标移动到非空格符的下一行
-光标移动到非空格的上一行
n [space]n表示数字 后按下空格键 光标向后移动n个字符距离
0(是ling不是o)或功能键[home]移动到这一行最前面的字符处(常用)
$或功能键[end]移动到这一行最后面字符(常用)
H光标移动到这个屏幕最上方那一行的第一个字符
M光标移动到这个屏幕最中央那一行的第一个字符
L光标移动到这个屏幕最下方那一行的第一个字符
G光标移动到这个文件的最后一行(常用)
nG移动到这个文件的第n行
gg移动到这个文件的第一行,相当于1G
n[enter]n为数字,光标向下移动n行

1.2查找与替换

/word光标向下寻找一个名称为word的字符串(常用)
?word光标向上寻找一个字称为word的字符串
nn为英文按键,代表重复前一个查找的操作。
N英文按键,为反向进行前一个查找动作
:n1,n2s/word/word2/gn1,n2为数字,即在n1,n2行之间寻找word1这个字符串,并替换成/word2
?1,$s/word1/word2/g从1行到最后一行寻找word1字符串并替换为word2(常用)
:1,$s/word1/word2/gc同上,不过在替换前显示提示字符给用户确认是否需要替换(常用)

1.3 删除、复制与粘贴

x与X在一行中,x为向后删除一个字符,X向后删除一个字符(常用)
nxn为数字,连续向后删除n个字符
dd删除(剪切)光标所在的一整行(常用)
nddn位数字,删除(剪切)光标所在的向下n行(常用)
d1G删除(剪切)光标所在到第一行的全部数据
dG删除(剪切)光标所在到最后一行的全部数据
d$删除(剪切)光标所在处,到该行的最后一个字符
d0删除(剪切)光标所在处,到该行的最前面一个字符
yy复制光标所在的那一行(常用)
nyy复制光标所在的向下n行 (常用)
y1G复制光标所在行到第一行的全部数据
yG复制光标所在行到最后一行的全部数据
y0复制光标所在字符到该行行首的所有数据
y$复制光标所在字符到该行行尾的所有数据
p与PP为将已复制的数据在光标下一行粘贴,P是在上一行 (常用)
J将光标所在行与下一行的数据结合成同一行
c重复删除多个数据,例如向下删除10行:10cj
u恢复前一个操作(常用)
[ctrl]+r重做上一个操作(常用)
.这个就是小数点,重复前个操作(常用)

u配合[ctrl]+r是很常用的命令,一个是恢复,另一个则是重做一次,鸟哥说利用这两个功能按键,你的编辑,emmm,会很快乐。可以试试,快乐预定中。(我已经快乐疯了,我能玩一天)

2.一般命令模式切换到编辑模式按键说明

进入插入【insert】或替换【replace】的编辑模式,以下都很常用:

i与I进入插入模式 i:目前光标插入 I:目前所在行第一个非空格符处插入
a与A进入插入模式 a:目前光标所在的下一个字符插入A:所在行最后一个字符插入
o与O进入插入模式 o:光标下一行插入新的一行O:光标上一行插入新的一行
r与R进入替换模式r:只替换光标所在的字符一次R:一直替换 知道[esc]
[esc]退出编辑模式

3.一般命令模式切换到命令行模式按键说明

此中"!"一般表示强制的意思

:w将编辑的数据写入硬盘文件
:w!若文件只读时,强制写入文件,不过不一定成功,还得看你对文件的权限
:q退出vi(常用)
:q!若修改过文件,又不想保存时的提裤子行为,意思是强制退出不保存
:wq保存后退出,若为:wq!则为强制保存后退出
ZZ若文件没有修改,则退出,修改则保存后退出
:w[filename]在将编辑的数据保存成另一个文件
:r[filename]在编辑的数据中,读入另一个文件的数据,即将文件内容插入到所在行后面
:n1,n2 w[filename]将n1到n2行的内容保存为filename这个文件
:!command暂时退出vi到命令行模式下执行command的显示结果
:set nu显示行号,设置之后,会在每一行的前缀显示该行的行号
:set nonu与set nu相反,为取消行号

举个栗子::! ls /home 即可在vi当中查看home下面ls输出的内容

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值