vi使用详解

 

vi +n filename  打开文件并将光标置于第n行行首

vi + filename   打开文件并将光标置于行尾

vi +/pattern filename  打开文件并将光标置于匹配模式pattern的第一个串处

vi -r filename  当上次使用vi编辑文件时系统崩溃使用-r恢复文件

vi -R filename  以只读模式打开文件

 

#############移动光标类#########

k <=> 向上键

j <=> 向下键

h <=> 向左键

l <=> 向右键

 

数字0    光标移动至当前行行首

$        光标移动至当前行行尾

{        光标移动至当前段段首

}        光标移动至当前段段尾 

(        光标移动至当前句句首

)        光标移动至当前句句尾

 

nG       光标移动至第n行行首   可以使用1G来返回页首

n+       光标下移n行

n-       光标上移n行

n$       光标下移n行(包含当前行)并置于行尾 例如:1$  移至当前行尾 2$ 移至下一行行尾

H        移至屏幕顶行,在往上就翻不上了。只能使用nG来实现了。

M        移至屏幕中间行

L        移至屏幕最后一行

 

#############屏幕翻滚类#########

ctrl+u   向文件首翻半屏

ctrl+d   向文件尾翻半屏

ctrl+f   向文件尾翻一屏

ctrl+b   向文件首翻一屏

 

#############插入文本类#########(按ESC键进入编辑模式)

i    光标前插入字符

I    当前行行首插入字符

a    光标后插入字符

A    当前行行尾插入字符

o    当前行下一行新建一行进行插入

O    当前行上一行新建一行进行插入

 

#############替换字符类#########(按ESC键进入编辑模式)

r    替换当前光标所指字符。例如:用a替换b,将光标定格在b上,然后按r键紧跟着按a键,则完成字符a替换b的任务

R    替换当前字符其后的字符,直至按ESC键结束

 

#############删除文本类#########(按ESC键进入编辑模式)

s    删除光标处字符,并进入输入模式

S    删除光标所在行,并进入输入模式,等同于cc

d0(数字0) 删除光标所在处字符至行首所有字符

d$   删除光标所在字符至行尾所有字符

dd   删除当前行

ndd  删除当前行及其后n-1行

x    删除当前字符,不进入输入模式

X    删除光标前一个字符。等价于db

de   删除光标所在字的自光标所在处后所有字符包括当前字符。例如“abc_123”光标在b字符处,则de删除bc字符,剩余字符串为:“a_123”

u    恢复修改,类似windows下的ctrl+z

 

#############搜索及替换命令#########

/pattern          从光标所在处向文件尾搜索

?pattern          从光标所在处向文件首搜索

n                 在同一方向查看搜索到的字符串

N                 在反方向查看搜索到的字符串

:s/p1/p2/g        将当前行中所有p1替换成p2

:g/p1/s//p2/g     将当前文件中所有p1替换成p2

:n1,n2s/p1/p2/g   将第n1行到n2行中所有p1替换成p2

 

#############行拷贝命令#########

:n1,n2 co n3      将n1行到n2行(包含n1n2)之间的内容拷贝至n3行下

:n1,n2 m n3       将n1行到n2行(包含n1n2)之间的内容转移至n3行下,相当于剪切

:n1,n2 d          将n1行到n2行(包含n1n2)之间的内容删除

:e newfilename    打开新文件newfilename进行编辑

:!command         执行shell命令

:r!command        将命令command执行结果输出至光标所在行的下一行

:number           查看当前光标所在行的行号

ctrl+g            显示当前光标所在行的行号以及所占百分比

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值