成功源于专注
« »
2010/07/25工作

24 Views

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)
:x (只有当文档发生变更时才写入)
:wq(退出并保存)
:q(取消修改并退出)

4.控制指令

ctrl + g (查看当前的文档的信息,总行数与当前所在行)
:![cmd](执行系统命令)
: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
重做

也许您还对以下的文章感兴趣

日志信息 »

该日志于2010-07-25 13:00由 bingobin 发表在工作分类下, 你可以发表评论。除了可以将这个日志以保留源地址及作者的情况下引用到你的网站或博客,还可以通过RSS 2.0订阅这个日志的所有评论。

没有评论

发表评论 »

返回顶部