LINUX系统VI编辑器使用入门视频(小布老师出品)
|

- 帖子
- 199
- 积分
- 339 分
- 贡献
- 213 点
- 下载币
- 2640 枚
- IT果果
- 196 颗
- 阅读权限
- 20
- 最后登录
- 2009-4-29
|
1#
发表于 2008-8-6 15:51
| 只看该作者

LINUX系统VI编辑器使用入门视频(小布老师出品)
小布老师LINUX视频:VI编辑器使用入门
相关视频在线播放,播放地址回复可见
vi 使用入门
vi 是一个Unix/Linux提供的全屏幕编辑器, 可以编辑文本文件。
一、vi 模式简介
vi 可分为三种状态:
1.命令模式: 控制光标移动;字符删除,移动,复制;进入输入模式,或最后行模式。
2.输入模式: 唯有在输入模式下, 才可做文字输入,按 键可到命令模式。
3.最后行模式: 将文件写入或离开编辑器,亦可设定编辑环境, 如寻找字串、列出行号..等。
二、vi 的基本操作
1. 进入 vi
在系统提示符号下输入 vi 及文件名称,回车后即进入 vi 全屏幕编辑画面,且在命令模式下。
$ vi testfile.c
2. 切换至输入模式编辑文件:
在命令模式 下可按 'i' 或 'a' 或 'o' 三键之一进入输入模式。
3. 离开 vi 及保存:
在命令模式下可按 ':' 键进入最后行模式,
:w filename (存入指定文件)
:wq (写入并离开 vi)
:q! (离开并放弃编辑的文件)
三、命令模式功能键简介
1. 进入输入模式
i : 插入, 在当前光标之前输入文字。
a : 增加, 在当前光标之后输入文字。
o : 从新的一行行首开始输入文字。
2. 移动光标
h、j、k、l : 分别控制光标左、下、上、右移一个字符。
^b : 往后一页。
^f : 往前一页。
G : 移到文件最后。
0 : 移到行首(注意是数字零);$:移到行尾。
3. 删除
x : 删除一个字符。
#x : 例, 3x 表删除 3 个字符。
dd : 删除光标所在行。
#dd : 例, 3dd 删除自光标起 3 行。
4. 更改
cw : 更改光标处字符到词尾处。
c#w : 例, c3w 表更改 3 个字。
5. 取代
r : 取代光标处之字符。
R : 取代字符直到按 为止。
6. 复制
yw : 拷贝光标处字符到词尾。
p : 复制(put)到所要之处。
(指令 'yw' 与 'p' 必须搭配使用。)
7. 跳至指定之行
#G : 例, 44G 表移动光标至第 44 行行首。
四、最后行模式下指令简介
注意: 使用前请先按 键确定在命令模式下。
按 ':' 或 '/' 或 '?' 三键即可进入最后行模式。
1.列出行号 :set nu (可用 :set all 列出所有的选择项。)
2.寻找字串 /word (由首至尾寻找) ?word (由尾至首寻找)
3. :w filename (存入指定文件)
:wq (写入并离开 vi)
:q! (离开并放弃编辑的文件)
小布老师LINUX视频:VI编辑器使用入门
相关视频在线播放,播放地址回复可见
本帖隐藏的内容需要回复才可以浏览 |
|
|
|
|
|
|

- 帖子
- 199
- 积分
- 339 分
- 贡献
- 213 点
- 下载币
- 2640 枚
- IT果果
- 196 颗
- 阅读权限
- 20
- 最后登录
- 2009-4-29
|
2#
发表于 2008-8-6 15:52
| 只看该作者
Vi入门
(一)、进入vi
在系统提示字符(如$、#)下敲入vi <档案名称>,vi 可以自动帮你载入所要编辑的文件或是开启一个新文件(如果该文件不存在或缺少文件名)。进入 vi 后萤幕左方会出现波浪符号,凡是列首有该符号就代表此列目前是空的。
(二)、两种模式
如上所述,vi存在两种模式:指令模式和输入模式。在指令模式下输入的按键将做为指令来处理:如输入a,vi即认为是在当前位置插入字符。而在输入模式下,vi则把输入的按键当作插入的字符来处理。指令模式切换到输入模式只需键入相应的输入命令即可(如a,A),而要从输入模式切换到指令模式,则需在输入模式下键入ESC键,如果不晓得现在是处於什麽模式,可以多按几次 [ESC],系统如发出哔哔声就表示已处于指令模式下了。
附:有指令模式进入输入模式的指令:
新增 (append)
a :从光标所在位置後面开始新增资料,光标後的资料随新增资料向後移动。
A: 从光标所在列最後面的地方开始新增资料。
插入 (insert)
i: 从光标所在位置前面开始插入资料,光标後的资料随新增资料向後移动。
I :从光标所在列的第一个非空白字元前面开始插入资料。
开始 (open)
o :在光标所在列下新增一列并进入输入模式。
O: 在光标所在列上方新增一列并进入输入模式。
(三)、退出vi
在指令模式下键入:q,:q!,:wq或:x(注意:号),就会退出vi。其中:wq和:x是存盘退出,而:q是直接退出,
如果文件已有新的变化,vi会提示你保存文件而:q命令也会失效,这时你可以用:w命令保存文件后再用:q退出,或用:wq或:x命令退出,如果你不想保存改变后的文件,你就需要用:q!命令,这个命令将不保存文件而直接退出vi。
(四)、基本编辑
配合一般键盘上的功能键,像是方向键、[Insert] 、[Delete] 等等,现在你应该已经可以利用 vi 来编辑文件了。当然 vi 还提供其他许许多多功能让文字的处理更为方便。何谓编辑?一般认为是文字的新增、修改以及删除,甚至包括文字区块的搬移、复制等等。先这里介绍 vi的如何做删除与修改。(注意:在 vi 的原始观念里,输入跟编辑是两码子事。编辑是在指令模式下操作的,先利用指令移动光标来定位要进行编辑的地方,然後才下指令做编辑。)删除与修改文件的命令:
x: 删除光标所在字符。
dd :删除光标所在的列。
r :修改光标所在字元,r 後接著要修正的字符。
R: 进入取替换状态,新增文字会覆盖原先文字,直到按 [ESC] 回到指令模式下为止。
s: 删除光标所在字元,并进入输入模式。
S: 删除光标所在的列,并进入输入模式。
其实呢,在PC上根本没有这麽麻烦!输入跟编辑都可以在输入模式下完成。例如要删除字元,直接按 [Delete] 不就得了。而插入状态与取代状态可以直接用 [Insert] 切换,犯不著用什麽指令模式的编辑指令。不过就如前面所提到的,这些指令几乎是每台终端机都能用,而不是仅仅在 PC 上。在指令模式下移动光标的基本指令是 h, j, k, l 。想来各位现在也应该能猜到只要直接用 PC 的方向键就可以了,而且无论在指令模式或输入模式下都可以。多容易不是。当然 PC 键盘也有不足之处。有个很好用的指令 u 可以恢复被删除的文字,而 U 指令则可以恢复光标所在列的所有改变。这与某些电脑上的 [Undo] 按键功能相同。
三、附件:vi详细指令表
(一)、基本编辑指令:
新增 (append)
a :从光标所在位置後面开始新增资料,光标後的资料随新增资料向後移动。
A: 从光标所在列最後面的地方开始新增资料。
插入 (insert)
i: 从光标所在位置前面开始插入资料,光标後的资料随新增资料向後移动。
I :从光标所在列的第一个非空白字元前面开始插入资料。
开始 (open)
o :在光标所在列下新增一列并进入输入模式。
O: 在光标所在列上方新增一列并进入输入模式。
x: 删除光标所在字符。
dd :删除光标所在的列。
r :修改光标所在字元,r 後接著要修正的字符。
R: 进入取替换状态,新增文字会覆盖原先文字,直到按 [ESC] 回到指令模式下为止。
s: 删除光标所在字元,并进入输入模式。
S: 删除光标所在的列,并进入输入模式。
(二)、光标移动指令:
由於许多编辑工作是藉由光标来定位,所以 vi 提供许多移动光标的方式,这个我们列几张简表来说明(这些当然是指令模式下的指令):
指令?nbsp;?得?nbsp; ??? 功能键
0 移动到光标所在列的最前面 [Home]?nbsp;
$ ?nbsp;移动到光标所在列的最後面 [End]
[CTRL][d] 向下半页 ?nbsp;[PageDown]
[CTRL][f] 向下一页
[CTRL] 向上半页?nbsp;
[CTRL] 向上一页 [PageUp]
指令 说明
H 移动到视窗的第一列
M 移动到视窗的中间列
L 移动到视窗的最後列
b 移动到下个字的第一个字母
w 移动到上个字的第一个字母 ?
e 移动到下个字的最後一个字母
^ 移动到光标所在列的第一个非空白字元
指令 说明 ??nbsp;
n- 减号移动到上一列的第一个非空白字元前面加上数字可以指定移动到以上 n 列
n+ 加号移动到下一列的第一个非空白字元前面加上数字可以指定移动到以下 n 列
nG 直接用数字 n 加上大写 G 移动到第 n 列
指令 说明
fx
往右移动到 x 字元上
Fx 往左移动到 x 字元上 ?nbsp;
tx 往右移动到 x 字元前??nbsp;
Tx 往左移动到 x 字元前
; 配合 f&t 使用,重复一次?
,? 配合 f&t 使用,反方向重复一次
/string 往右移动到有 string 的地方
?string 往左移动到有 string 的地方
n ?nbsp;配合 /&? 使用,重复一次
N ?nbsp;配合 /&? 使用,反方向重复一次
指令 说明 ?缸?nbsp;
n(
左括号移动到句子的最前面句子是以前面加上数字可以指定往前移动 n 个句子 ! . ? 三种符号来界定
n)?nbsp;右括号移动到下个句子的最前面前面加上数字可以指定往後移动 n 个句子 ! . ? 三种符号来界定
n{ ? 左括弧移动到段落的最前面 段落是以段落间的空白列界定
n} 前面加上数字可以指定往前移动 n 个段落右括弧移动到下个段落的最前面前面加上数字可以指定往後移动 n 个段落 段落是以段落间的空白列界定
(三)、更多的编辑指令
这些编辑指令非常有弹性,基本上可以说是由指令与范围所构成。例如 dw 是由删除指令 d 与范围 w 所组成,代表删除一个字 d(elete) w(ord) 。
指令列表如下:
d 删除(delete)
y 复制(yank)
p 放置(put)
c 修改(change)
范围可以是下列几个:
e 光标所在位置到该字的最後一个字母
w 光标所在位置到下个字的第一个字母
b 光标所在位置到上个字的第一个字母
$ 光标所在位置到该列的最後一个字母
0 光标所在位置到该列的第一个字母
) 光标所在位置到下个句子的第一个字母
( 光标所在位置到该句子的第一个字母
} 光标所在位置到该段落的最後一个字母
{ 光标所在位置到该段落的第一个字母
说实在的,组合这些指令来编辑文件有一点点艺术气息。不管怎麽样,它们提供更多编辑文字的能力。值得注意的一点是删除与复制都会将指定范围的内容放到暂存区里,然後就可以用指令 p 贴到其它地方去,这是 vi 用来处理区段拷贝与搬移的办法。
某些 vi 版本,例如 Linux 所用的 elvis 可以大幅简化这一坨指令。如果稍微观察一下这些编辑指令就会发现问题其实是定范围的方式有点杂,实际上只有四个指令罢了。指令 v 非常好用,只要按下 v 键,光标所在的位置就会反白,然後就可以移动光标来设定范围,接著再直接下指令进行编辑即可。对於整列操作, vi 另外提供了更方便的编辑指令。前面曾经提到过删除整列文字的指令 dd 就是其中一个;cc 可以修改整列文字;而 yy 则是复制整列文字;指令 D 则可以删除光标到该列结束为止所有的文字。
(四)、文件操作指令
文件操作指令多以 : 开头,这跟编辑指令有点区别。
:q 结束编辑(quit)
:q! 不存档而要放弃编辑过的文件。
:w 保存文件(write)其後可加所要存档的档名。
:wq 即存档後离开。
zz 功能与 :wq 相同。
:x 与:wq相同
------------------------------------------------------------------------------------------------------------------
vi编辑器的文字说明
模式:命令模式,编辑模式,末行模式。
切换方式:命令模式→i→编辑模式,编辑模式→Esc→命令模式,命令模式→:→末行模式。
功能:
命令模式(Command Mode): 控制光标移动,删除字符,段落复制。
编辑模式(Insert Mode): 新增文字及修改文字。
末行模式(Last Line Mode):保存文件,离开vi,以及其他设置。
命令模式命令
命令 说明
h 将光标向左移动一格
l 将光标向右移动一格
j 将光标向下移动一格
k 将光标向上移动一格
0 数字0,将光标移动到该行的行首
$ 将光标移动到该行的行末
H 将光标移动到该屏幕的顶端
M 将光标移动到该屏幕的中间
L 将光标移动到该屏幕的底端
gg 将光标移动到文章的首行
G 将光标移动到文章的尾行
w或W 将光标移动到下一单词
x 删除光标所在处的字符
X 删除光标前的字符
dd 删除光标所在行
*dd 从光标所在行向下删除*行,*为数字
D 删除光标所在处到行尾
r 取代光标处的一个字符
R 从光标处向后替换,按Esc结束
u 取消上步的操作
U 取消目前的所有操作
yy 复制光标所在行
p 将复制的内容放在光标所在行的下行
编辑模式命令
命令 说明
a 在光标后插入文本
A 在光标所在行后插入文本
i 在光标前插入文本
I 在光标所在行前插入文本
o 在光标所在行下插入新行(小写字母o)
O 在光标所在行上插入新行(大写字母O)
末行命令
命令 说明
e 创建新文件
n 加载新文件
w 保存文件
! 强行操作
w! 强行保存文件
q 退出
q! 强行退出
wq 保存退出
wq! 强行保存退出
set nu 显示行号
set nonu 不显示行号
/* /搜索,*任意字符串
? 同上 |
|
|
|
|
|
|

- 帖子
- 206
- 积分
- 216 分
- 贡献
- 0 点
- 下载币
- 2402 枚
- IT果果
- 196 颗
- 阅读权限
- 20
- 最后登录
- 2009-7-14
|
3#
发表于 2008-9-30 23:31
| 只看该作者
|
|
|
|
|
|

- 帖子
- 84
- 积分
- 94 分
- 贡献
- 0 点
- 下载币
- 2584 枚
- IT果果
- 196 颗
- 阅读权限
- 10
- 最后登录
- 2009-8-22
|
4#
发表于 2008-10-14 10:23
| 只看该作者
|
|
|
|
|
|

- 帖子
- 60
- 积分
- 70 分
- 贡献
- 0 点
- 下载币
- 2596 枚
- IT果果
- 196 颗
- 阅读权限
- 10
- 最后登录
- 2009-4-21
|
5#
发表于 2008-10-30 08:56
| 只看该作者
|
|
|
|
|
|

- 帖子
- 29
- 积分
- 39 分
- 贡献
- 0 点
- 下载币
- 2592 枚
- IT果果
- 196 颗
- 阅读权限
- 10
- 最后登录
- 2009-9-14
|
6#
发表于 2008-11-8 22:10
| 只看该作者
|
|
|
|
|
|

- 帖子
- 3
- 积分
- 13 分
- 贡献
- 0 点
- 下载币
- 2596 枚
- IT果果
- 196 颗
- 阅读权限
- 10
- 最后登录
- 2008-11-15
|
7#
发表于 2008-11-11 19:19
| 只看该作者
|
|
|
|
|
|

- 帖子
- 128
- 积分
- 138 分
- 贡献
- 0 点
- 下载币
- 2316 枚
- IT果果
- 196 颗
- 阅读权限
- 20
- 最后登录
- 2009-11-27
|
8#
发表于 2008-11-12 11:10
| 只看该作者
|
|
|
|
|
|

- 帖子
- 113
- 积分
- 123 分
- 贡献
- 0 点
- 下载币
- 2436 枚
- IT果果
- 196 颗
- 阅读权限
- 20
- 最后登录
- 2009-12-2
|
9#
发表于 2008-11-12 20:15
| 只看该作者
|
|
|
|
|
|

- 帖子
- 75
- 积分
- 85 分
- 贡献
- 0 点
- 下载币
- 2596 枚
- IT果果
- 196 颗
- 阅读权限
- 10
- 最后登录
- 2008-12-6
|
10#
发表于 2008-11-12 21:21
| 只看该作者
|
|
|
|
|