Linux强大文本编辑器Vi的使用方法详介

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

vi ――强大的全屏幕编辑器

Vi 简介

文本编辑大概是系统运行中最为频繁的操作了,而在Linux下有一种标准而功能极为强大的编辑器,那就是Vi(Visual Edtior)。

对于Linux的初学者来说,vi可能显得极为不友好――所有操作都要用特殊的击键或者组合键来控制,而且似乎这些命令跟要执行的操作并没有什么关系,非常难记,比起Windows 下的notepad实在是"恐怖"多了。其实这只是转移工作环境中的正常现象,如果经过大量的实践,你会发现其实vi对于键盘的利用非常合理,如果用的熟练了,vi不仅可以成为你的文本编辑利器,而且对于系统配置甚至编程都有莫大的帮助。

Vi实用操作指南

作为一个Unix系统下标准的全屏幕文本编辑器,vi可以方便的实现插入、修改、拷贝粘贴三种基本的编辑操作。但是不像其他的字处理器,vi是以指令模式作为缺省的模式运行的。

更复杂的操作可以用一系列的按键来完成。

【进入vi 与退出】

Vi 有三种模式,输入模式(Inserting Mode)、指令模式(Command Mode)以及ex模式(Ex Mode)。在输入模式下可以输入文字,而指令模式下可以执行编辑文件、存档等等指令;Ex模

式用于执行另外一些功能,如查找、替换文本、多文件的操作等等。要进入vi可以直接在Shell提示符下键入vi [文件名称],如果该文件在当前目录不存在,则vi创建之。

为了进入输入模式,有好几种方法:

新增(append)

a:从光标所在位置后面开始添加内容,光标后的内容随新增字符向后移动。

A:从光标所在列最后面的地方开始添加内容。

插入(insert)

i:从光标所在位置前面开始插入内容,光标后的内容随新增内容向后移动。

I: 从光标所在列的第一个非空白字符前面开始插入内容。

开始(open)

o:在光标所在列下新增一列并进入输入模式。

O:在光标所在列上方新增一列并进入输入模式。

可以随时用ESC键切换到指令模式,连续按一两次就够了,这时系统会发出哔哔声以确定进入指令模式。然后再指令模式下有多种退出方法:

ZZ 保存并退出

:x 保存并退出

:wq 保存并退出

:w 保存并返回指令模式

:30,60w [新文件] 将30到60行的内容写入[新文件]

:30,60w>> [文件] 将第30到60行的内容写入[文件]的末尾

:q 退出

:q! 退出并丢掉所有未保存信息

Q 退出vi,激活ex

:e file2 在不离开vi的条件下编辑file2

:n 编辑下一个文件

:e! 回到当前编辑文件上次保存的状态

Vi 基本编辑

【移动光标】

移动光标自然是编辑过程中的基本技能,这个步骤一定要熟练掌握。常用的移动命令键有:

h 左移一个字符

j 下移一行

k 上移一行

l 右移一个字符

w,W 跳至后一个字(W忽略标点)

b,B 跳至前一个字(B忽略标点)

$ 至行尾

^ 至本行第一个非空字符

0 至行首

G 至缓冲区的起始处

nG n是整数,至第n行

CTRL-d 向下半页

CTRL-u 向上半页

CTRL-f 向下一页

CTRL-b 向上一页

H 移动到当前窗口的第一列

M 移动到当前窗口的中间列

L 移动到视窗的最后列│

e 移动到下个字的最后一个字母

n- 减号移动到上一列的第一个非空白字符,前面加上数字可以指定移动到以上n 列n+ 加号移动到下一列的第一个非空白字符,前面加上数字可以指定移动到以下n 列fx 往右移动到x 字符上

Fx 往左移动到x 字符上

tx 往右移动到x 字符前

Tx 往左移动到x 字符前

; 配合f 和t 使用,重复一次

, 配合f 和t 使用,反方向重复一次

【编辑】

x 删除光标所在字符,同时所在行的位于光标后的文字一起左移一格;如果删除的是某行的最后一个字符,则删除后光标左移一格

d 是删除命令,它作用于文本对象,即可被移动命令跨过的文本块。例如w可以用来跳至下一个字开始处,那么dw从光标位置所在字删至下一字开始处;6w将删至光标所在字后第六个字开始处等等

dd 删除光标所在的行

r 修改光标所在字符,r 后接着要修改的字符

R 进入取代状态,新增内容会覆盖原先内容,直到按[ESC] 回到指令模式下止

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

S 删除光标所在的列,并进入输入模式

u 撤消最近一次对文本的改动。标准版的vi只能执行一级撤消,而vim则可以多级

U 行撤消命令,用来撤消从光标最近一次移到该行时起对光标所在行做的全部改动

n( 左括号移动到句子的最前面,前面加上数字可以指定往前移动n 个句子.句子以! . ? 三种符号来界定

n) 右括号移动到下个句子的最前面,前面加上数字可以指定往后移动n 个句子

n{ 左括弧移动到段落的最前面,前面加上数字可以指定往前移动n 个段落。段落以段落间的空白列界定

n} 右括弧移动到下个段落的最前面,前面加上数字可以指定往后移动n 个段落

看到这里,恐怕有的读者已经开始吐舌头了:这么多"莫名其妙"的指令来编辑文本实在是太复杂了!还是那句话,"熟能生巧"。如果用的熟练了,利用这些命令来移动、编辑简直都不是大脑在控制,你的手指已经足够熟练为你做好任何你想做的事情

【指令组成】

现在可以提一下vi的指令组成。上面也看到了,很多指令都是控制键和数字等结合起来控制的。没错!其中很多大致是由指令与范围所构成。例如dw 是由删除指d 与范围w 所组

相关文档
最新文档