Vi基本操作 - 原创
以前觉得vi的操作很麻烦,但是现在学的时候觉得没有想像中的困难
特别是当你需要使用他的时候,你不得不去学习它
就我所认识的人,他们的开发工作都是要使用vi,对他们来说就是一个基本的工具
Vi基本概念
Vi的三种模式
命令模式
这时所有的键入的字符都被理解为对vi的命令,而非文本的编辑,这些命令通常是对光标的控制或者编辑替换。
输入模式
键入的字符理解对文本的编辑,跟其它的编辑软件一样。
ed模式
按冒号:(别忘了按Shift),这时进入ed模式,可以输入一些控制命令,比如保存,退出等。
Vi基本操作
1.进入Vi
标准命令
Vi [filename]
编辑a.txt,不存在则新增
vi a.txt
编辑文本,并跳到相应的行数
vi +123 a.txt
如果上次vi异常退出,则开启a.txt的最近一个版本
vi -r a.txt
2.移动光标i
h(左移一格)
j(下移一格)
k(上移一格)
l(右移一格)
H(移动到屏幕左上角)
L(移动到屏幕右下角)
G(移动到最后一行)
0(移动到该行的起始位置)
$(移动到该行的最后的位置)
ctrl + f(向下一页)
ctrl + b(向上一页)
:[n]跳到第n行
:$移动到最后一行
3.退出与保存
:w(保存文档)
:q(退出vi)
(只有当文档发生变更时才写入)
:wq(退出并保存)
:q(取消修改并退出)
4.控制指令
ctrl + g (查看当前的文档的信息,总行数与当前所在行)
:
:nu(取得当前行,即行数及其相关的数据)
ctrl + s(锁定屏幕)
ctrl + q(解除锁定)
5.删除字符
x(删除字符,光标向后)
X(删除字符,光标向前)
dw(删除一个单词,以空格划分)
dd(删除光标所在行)
d0(删除光标到行首的所有字符)
d$(删除光标到行尾的所有字符)
6.批量删除字符
3x(删除三个字符)
3dw(删除三个单词)
5dd(删除五行)
:10,20d(删除从10行到20的数据)
:.,+3d(从当前行开始,向下删除3行)
:.,-3d(从当前行开始,向上删除3行)
7.替换字符
rb(把当前字符替换为b
4rb(把从当前字符开始的4个字替换为b)
R转为替换模式
3Sxyz(把后面的3个字符替换为xyz)
S替换一行
3D替换三行
cw替换单词
C替换至行尾
8.查找
/为向下查找
?为向上查找
n为向下查找下一个
N为向上查找上一个
9.单词替词
s/原字符串/新字符串/[cegi]
100,200s/apmt110/apmt220/g(从第200行到300行之间进行替换)
%s/apmt110/apmt220/g(对整篇字符进行替换)
10.复制与移动
co
3,4 co 1(把3,4行之间的信息复制到1行下面
2, 4 m 0
把2到4行之间的信息移动到行首
dd,p
yy,p
11.恢复与重做
u
取消前一步操作
ctrl + r
重做
没有评论 ▼