《操作系统(linux)》实验指导书
实验一  Vi编辑器的使用
一、          实验目的
        理解Vi的三种运行模式及切换方法;
        学会使用Vi的各种操作命令进行文本文件的编辑;
        Vi编写LinuxC程序,会用gcc编译。
二、          实验工具
一台装有Linux的机器(这里默认是Red Hat Linux 9,系统里面有gcc编译器。
三、          预备知识
介绍一些常见的实验命令,相关说明可以参考本实验参考资料部分。
1、进入插入模式
命令 i  从光标所在位置前开始插入文本;
命令a 在光标当前所在位置之后追加新文本;
命令o  将在光标所在行的下面新开一行,并将光标置于该行行首,等待输入文本;
2、编辑模式下操作
命令hjkl 进行光标左移、下移、上移和右移一个字符的定位;
命令        删除光标处字符;
命令yy        将当前行的内容复制到缓冲区中;
命令p         将缓冲区中的内容写到光标所在的位置;
命令zz        存盘退出;
3、命令模式下操作
命令:n 直接跳到n所指向的行(n指行号);
命令:q 退出vi
四、基本实验
首先用合法用户名登陆系统。
1 不保存直接退出
1      在系统提示符下,输入vi,按回车键。
2      我们会看到vi的界面。
3      输入:q!不保存直接退出。
2 新建文件hello.c并编辑一段文字进行保存
4      在系统提示符下输入vi hello.c,按回车键。
5      看到vi的界面,输入i,左下角会出现“插入
6      输入一段文字。
7      Esc键,进入命令模式。这时“插入”就不见了。
8      输入:wq,按回车键,保存文件。
3 对文件hello.c进行增、删、改操作
9      在系统提示符下输入vi hello.c,按回车键。
10  看到vi的界面。输入i,进入插入模式。
11  输入增加的文字:“vi is very easy to user~!”
12  用方向键将光标移到图文字行的任意处。
13  Esc键,进入命令模式。
14  输入命令dd,删除光标所在一行(若连续输入dd是将光标所在的行及以下所有行删除)。
15  用方向键将光标移到veryv处,按Esc键,进入命令模式,输入命令2x,查看结
果。
4 对文件hello.c进行复制、粘贴操作
16  接着步骤14继续做。
17  输入命令2yy,进行复制。
18  将光标移动到“vi is very easy to user~!”。
19  Esc键,进入命令模式。
20  输入p,完成粘贴,查看结果。
5 file文件中进行字符串搜索、替换操作。
21  接着19步骤继续
22  输入“:/is”,按回车键,查看结果。
五、          程序实验
vi编辑器来编写一个简单的程序。
步骤 1、输入vi,进入vi编辑器。
    2、编写程序代码如下:
include stdio.h
main()
{int i,sum=0;
for(i=1,i<=10;i++)
  sum+=i;
printf(sum=%d\n,sum);
}
    3、按Esc键,进入命令模式。
    4、输入“:w sum.c”。
    5、按Esc键,进入命令模式,并输入“:q,退出vi编辑器即可。
    6、输入“gcc -o sunm sum.c,进行编译。
    7、若成功则不会有任何信息,反之,系统会报错。若成功,则输入“./sum,就可得到结果。
    8、将10替换为每个同学的学号的最后三位数字,重新编译,查看结果。
六、          参考资料内容
1  vi编辑器的三种运行模式
vi有三种基本工作模式:编辑模式、插入模式、命令模式(也称末行模式)。
在系统提示符($或#)后输入vi和想要编辑或建立(该文件存在是编辑,否则是建立)的文件名,便可进入vi。如果只输入vi也可以进入vi,但是在退出时需要在退出命令后输入文件名。
进入vi后即进入编辑模式,进入编辑模式后,vi等待编辑命令输入而不是文本输入,这时输入的字母都将作为编辑命令来解释。
在编辑模式下输入插入命令i、附加命令a、打开命令o、修改命令c、取代命令r或替换命令s都可以进入插入模式。在插入模式下,用户输入的任何字符都被vi当作文件内容保存起来,并显示在屏幕上。在文本输入过程中,如果想回到命令模式,按Esc键即可。
在编辑模式下输入“:”即可进入命令模式,此时vi会在显示窗口的最后一行显示一个“:”作为命令模式的提示符,等待用户输入命令。末行命令执行完后,vi自动回到编辑模式。
若在命令模式的输入命令过程中改变了主意,可用退格键讲输入的命令全部删除后,再按一下退格键,即可回到编辑模式。
2  常见的实验命令
(1)  编辑模式下的操作
    光标定位如下:
 
命令
说明
hj kl
分别用于光标的左移,下移,上移,右移一个字符。
Ctrlb
将屏幕向文件首方向翻滚一整屏,即PageUp
Ctrlf
讲屏幕向文件尾方向翻滚一整屏,即PageDown
H
讲光标移到当前屏幕首行的行首(即左上角)
nH
讲光标移到当前屏幕第n行的行首
O
移动至光标所在行的行首
移动至光标所在行的行尾
    替换和删除
命令
说明
rc
用字符c替换光标所指向的第一个字符(非空格)
nrc
用字符c替换光标所指向的前n个字符
x
删除光标处的字符
nx
删除光标所在位置开始向右n个字符
dd
删除光标所在的整行
ndd
删除光标所在的整行及其后n-1行的内容
    复制和粘贴命令
命令
说明
yy
讲当前行的内容复制到缓冲区中
nyy
讲当前开始的n行内容复制到缓冲区
p
讲缓冲区中内容写出到光标所在的位置
    撤销和重复
命令
说明
u
取消前一次的误操作或不合适的操作对文件造成的影响,使之恢复到这种操作被执行前的状态
再执行一次前面刚完成的某个复杂的命令
    退出
命令
说明
ZZ
存盘退出
ZQ
作废退出
(2)  命令模式下的操作
    跳行
命令
说明
n
直接输入要移动到的行号
    退出
命令
说明
q
退出vi
wq
保存退出vi
q
不保存退出vi
    文件相关
命令
说明
w
讲当前编辑的内容存盘
w file
讲当前编辑的内容写到file文件中
n1n2w file
讲从n1行开始到n2行结束的行写到file文件中
r file
打开另一个文件file
e file
新建file文件
f file
把当前文件改名为file文件
    字符串搜索、替换、删除
linux系统vim编辑器
命令
说明
/str/
从当前光标开始往右移动到有str的地方
? str?
从当前光标开始往左移动到有str的地方
/str/w file
将包含有str的行写到文件file
/str/,/str2/w file
讲从str1开始到str2结束的内容写到文件file
s/str1/str2/
将第一个str1替换为str2
s/str1/str2/g
将所有的str1替换为str2
:. , s/str1/str2/g
将从当前位置到结尾的所有的str1替换为str2

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。