Linux全屏幕编辑器vi,全屏幕文本编辑器Vi

Vi是“Visual

interface”的简称,它在Linux上的地位就仿佛Edit程序在DOS上一样。它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,这是其他编辑程序所没有的。

Vi不是一个排版程序,它不象Word或WPS那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序。

Vi没有菜单,只有命令,且命令繁多。

一、 vi的操作模式

vi提供三种操作模式:输入模式(insert

mode)和指令模式(command

mode)和末行模式(escape mode)。

在输入模式下,用户可输入文本资料。在指令模式下,可进行删除、修改等各种编辑动作。末行模式也称ex转义模式,以":"或者"/"为前导的指令,出现在屏幕的最下一行,任何输入都被当成特别指令。

20633331_1.gif在输入模式下,按Esc键切换到指令模式下。

20633331_1.gif在指令模式下,按输入指令(i、a、o等)进入输入模式。

二、进入vi

20633331_1.gif $ vi filename

直接键入“vi +

所要编辑的文件名”,即可对指定的文件进行编辑。

如果指定的文件为新文件,则提示:“New file”,否则显示该文件的当前内容。

20633331_1.gif $ view filename

以只读方式打开文件filename。

vi filename 进入vi并读入指定名称的文件(新、旧文件均可)。

vi +n filename 进入vi并且由文件的第几行开始。

vi

+ filename 进入vi并且由文件的最后一行开始。

vi + /word filename 进入vi并且由文件的word这个字开始。

vi

filename(s) 进入vi并且将各指定文件列入名单内,第一个文件先读入。

vedit 进入vi并且在输入方式时会在状态行显示"INSERT

MODE"。

编辑数个文件(利用vi filename(s))进入vi后)

:args 显示编辑名单中的各个文件名。

:e#

读入编辑名单内的前一个文件。

:n 读入编辑名单中的下一个文件。

:rew 读入编辑名单中的第一个文件。

:e file

读入另一个文件进vi(此文件可不在编辑名单内),若原文件经修改还没有存档,则应先以: w 存档。

:e! File

强迫读入另一个文件进入vi,原文件不作存档动作。

三、指令模式

3.1 进入输入模式(加数据指令)

a 在当前游标之后输入

A 在当前行之末输入

i 在当前游标之前输入

I 在当前行之首输入

o 在当前行之下新增一行,并在新增行输入

O 在当前行之上新增一行,并在新增行输入

20633331_1.gif输入结束后,按Esc键退出输入模式。

3.2 游标移动

h 向左移动一个字元

l 向右移动一个字元

j 向下移动一个字元

k 向上移动一个字元

b 左移一个单词,至词首

w 右移一个单词,至词尾 0移到当前行行首

$ 移到当前行行尾

+ 移至下一行的行首

- 移至上一行的行首

H 移至视窗的第一行

M 移至视窗的中间一行

L 移至视窗的最后一行

G 移至该文件的最后一行

nG 移至该文档的第n行

n+ 下移n行

n- 上移n行

3.3 视窗移动

+ f 视窗下卷一页

+ b 视窗上卷一页

+ d 视窗下卷半页

20633331_1.gif + u 视窗上卷半页

+ e 视窗下卷一行

+ y 视窗上卷一行

3.4 删除操作

x 删除光标所在的字符。

#x 删除光标所在处之后(含光标)#个字符,如3x。

X 删除光标所在处之前一个字符。

#X

删除光标所在处之前(含光标)#个字符,如3X。

dw 删除一个单词(Word)。

#dw 删除#个单词(Word)。

D

删除自光标所在处到此行结尾的全部字符,同d$。

dd 删除光标所在的整行。

#dd 删除自光标所在处开始向下#行,如5dd。

dG

由现在光标所在处删除至文件结尾。

:start,endd 删除文件的第start到end行。

3.5 修改操作

s 修改游标所在字元,修改完成后按Esc键结束

S 修改整行内容,修改完成后按Esc键结束

r 替换当前游标所在字元

R 进入替换状态,直至按Esc键结束

cw 修改一个单词(从游标位置至词尾)

cb 修改一个单词(从词首至游标位置)

cc 修改整行内容,完成后按Esc键结束,同S

c0 修改行首至游标位置的内容

c$ 修改游标位置至行尾的内容

~ 游标所在字元大小写切换

3.6 指令重复

在指令模式中,可在指令前面加入一个数字n,则该指令会重复执行n次。常用的重复操作有:

nx 删除n个字元

ndd 删除n行

ns 修改n个字元

3.7 查找字符串

/字符串 从当前游标向后查找该字符串

字符串 从当前游标向前查找该字符串

n 从当前游标向后查找下一个字符串

N 从当前游标向前查找下一个字符串

3.8 查看编辑状况

+ g 显示正在编辑的文件名、当前游标所在行数、文件总行数、文件是否被修改

四、保存与退出

:wq 把编辑内容存入文件,并退出vi。

:x 把编辑内容存入文件,并退出vi。

ZZ 把编辑内容存入文件,并退出vi。

:w file1 将内容保存至文件file1中,注意:此时编辑的仍为原文件

:w! file1 将内容覆盖保存至文件file1中,如文件file1存在,:w file1将禁止执行

:q 若文件未修改,可退出vi;文件若经修改而又未保存,这样就无法退出vi,用户必须先以:w来保存编辑内容再以:q退出vi,或是以:q!来放弃编辑内容。

:q! 放弃编辑内容,使文件保持原样,并退出vi。

:sh 暂时退出vi,这时UNIX建立一个新的shell给你,当你完成需要执行的指令后,可使用[Ctrl]+[D]返回原来编辑的地方。

[Ctrl]+[Z] 暂时退出vi,回到上一层的shell,将当前执行的vi移至后台,当工作完成后,可用指令fg将刚才被搁置的vi从后台重新调回前台。

五、环境设置

:set 显示已设置的环境状况

:set all 显示所有的环境设置选项

:set nu 显示行号

:set nonu 不显示行号

:set ts

= n 设置Tab键的长度为n

六、执行指令

以下用具体的数字为例进行介绍,数字表示行数,游标所在行可用“.”代替,文件最后一行可用“$”代替。

: 10 ,20d 删除第10行至第20行的内容

:10d 删除第10行的内容

:%d 删除全部内容

:

10 ,20co30 将第10行至第20行的内容复制到第30行之后

: 10 ,20mo30 将第10行至第20行的内容移动到第30行之后

: 1 ,$s/old/new 将第1行至最后一行中的old替换成new

: 1 ,$s/^/new 将第1行至最后一行的内容前面插入new

: 10 将游标移至第10行

七、其他指令

. 重复前一指令。

u 取消前一条命令。

U 取消作用于现在这行的一切指令。

Ctrl + l 刷新屏幕显示。

:f

或 + g 告诉用户有关现行编辑文件的数据。

八、切换到shell状态

:sh 切换到shell状态,exit返回

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值