实验二 vi编辑器的使用

实验二  vi编辑器的使用          

一、实验目的

学习使用vi编辑器建立、编辑、显示以及加工处理文本文件。

二、实验注意事项

实验室内的实验环境与系统是共用设施,请不要在系统内做对系统或对其他用户不安全的事情。要求每个同学登录后系统后,要在自己的家目录下创建一个属于自己的子目录(以自己(拼音)名字或学号)。以后所有工作都要在自己的目录内进行。建议以后的实验都在同台计算机上做,这样可以保持连续性。

三、实验内容及步骤

1.进入和退出vi

(1)进入vi,创建一个file.c文件。   命令:   mkdir file.c                        。

(2)进入插入方式,输入如下C程序,将该文件存盘,回到shell状态下。

   #include<stdio.h>

        int main()

        {

                 float a,b,x;

                 printf("Please input a,b:");

                 scanf("%5.2f,%5.2f",a,b);

                 x=a%b;

                 printf("x=%5.2f\n",x);

                 return 0;

     }

     进入插入方式命令:  i      ,文件存盘回到shell状态命令:  :wq            。

(3)运行gcc file.c -o myfile,编译该文件,会发现错误提示,理解其含义。

     编译命令:gcc file.c -o myfile  <回车>

     警告: Invalid format specifier in scanf function call                                                           。

     警告:            Variable 'a' is used uninitialized whenever 'b' is used                                                     。

     错误:            Invalid use of % operator with float operands                                                     。

(4)重新进入vi,对该文件进行修改,然后存盘,退出vi。重新编译该文件,如果编译通过,运行该程序。运行程序命令:./myfile

注意:在错误程序行旁边注释正确程序。

(5)运行man date>file10,然后用vi打开file10文件,使用x,dd命令删除某些文本行,使用u命令复原此前的情况,使用c,r,s等命令修改文本内容,使用检索命令进行给定模式的检索。

     删除光标所在的字符命令:      x                      

     删除光标前面那个字符命令:    X                        

     从光标位置删至到行尾命令:    D                   

     从光标位置删至到行首命令:     d0                  

     复原命令:          u                     

     修改命令举例:                               

               c:         c6G    删除光标所在行至第六行,然后接受用户输入的文本,然后按Esc                       

               r:         4rB    从光标开始向右共有4个字符被B取代                        

              s:         6s  光标所在字符及其后面的5个字符被新输入的字符替换                        

     搜索命令:                               

     向前字符串检索举例:/man  解释: 这个命令将搜索文本中的 "man" 字符串,并将光标移动到第一个匹配项           

     向后字符串检索举例:?123  解释:   这个命令将向后搜索文本中的 "123" 字符串,并将光标移动到最后一个匹配项。  

     查找字符命令举例:     fx    解释:   这个命令将光标移动到下一个出现的字符 "x"           

                           Fx   解释:    这个命令将光标移动到上一个出现的字符 "X"                  

     全局替换命令举例::%s/old/new/g  解释:这个命令将替换文本中所有的 "old" 字符串为 "new"                 

                        :s/apple/orange/ 解释: 这个命令将替换当前行第一个 "apple" "orange"                       

                             :s/g/app/orange/gc                       解释:     将替换所有 "apple" "orange",同时每一个都进行确认是否替换                     

                  

2.新建文件

(1)请在主目录(/home/student)下建立一个名为 vitest 的目录;

     命令:     mkdir /home/student/vitest                    

(2)进入 vitest 这个目录当中;

     命令:        cd /home/student/vitest                    

(3)将 /etc/manpath.config 拷贝到本目录下;

     命令:    cp /etc/manpath.config .                                       

(4)使用 vi 开启本目录下的 manpath.config 这个文件;

     命令:      vi manpath.config                                    

(5)在 vi 中设定一下行号;

     设置行号命令:    :set nu               。(取消行号命令: :set nonu  。)

(6)移动到第67 行,向右移动 26 个字符,请问您看到的是什么目录?

     移动到第67 行的命令:   67G            向右移动 26 个字符的命令:   26l            

看到:                 

7)再向左移动16个字符的命令:       16h            看到:                          

(8)回到当前行第一个字符处命令:       0        移动到当前行的行尾命令:       $          

(9)移动到第5行(包含当前行)词尾命令:      5G$          。再回到当前行的第一个字符处。

(10)光标向前移至下一个词的开头命令:      w       

(11)光标后退到前一个词的开头命令:        b    

(12)移动到第一行,并且向下搜寻一下『 modify 』这个字符串,请问他在第几行?

     移动到第一行:    1G        , 向下搜寻一下“modify ”    /modify     它在    77    行。

(13)接着下来,我要将 50 到 70 行之间的 man 改为 MAN ,并且一个一个挑选是否需要修改,如何下达指令?

     命令:        :50,70s/man/MAN/gc                                                

(14)修改完之后,突然反悔了,要全部复原,有哪些方法?

                 u                                                  

                                                                    

(15)我要复制51到60行这十行的内容,并且贴到最后一行之后;

                   :51,60t$                                                                    

(16)删除11到30行之间的20行;

                   :11,30d                    

(17)将这个文件另存成一个 man.test.config 文件;

                 :w man.test.config                                        

(18)到第29行,并且删除 15 个字符;

          :29 然后15x                                                  

(19) 请问目前的文件有多少行与多少字符?用什么命令统计?

         132      4418字符                        命令:     :%s/\n//gn   (行数)

          :%s/\S//gn   (字符数)                 

(20)储存后离开吧。

               :wq              

四、实验报告要求

1.按实验步骤写出实验命令及运行结果,回答所提问题。

2.总结上机过程中所遇到的问题和解决方法及感想。

通过本次实验,我们学习了如何使用vi编辑器创建、编辑、显示和加工文本文件。这些基本的编辑技巧对于日常的文本编辑工作非常有用,包括文件的创建、复制、删除、替换和搜索。同时,我们也学会了使用vi的撤销和保存功能来管理文本文件的修改。这些技能对于文本文件的编辑和维护非常重要。在今后的日子里面我要不断学习,争取拿到一份好的offer.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值