• 蓝点中文Linux2.0 实验十二 屏幕文本编辑器vi的使用


    已有链接:

    http://www.cnblogs.com/iuices/archive/2011/12/02/2272409.html

    写之前怀疑了下是否要写这篇文章,想想这个屏幕编辑器是否过时了.

    不过还是写下来了.

    显示行号:   :set nu

    或者set numver

    一:实验要求.

    (1)vi的三种模式:编辑模式,命令模式,最后行模式.

    (2)vi的新建,保存文件

    光标的移动,文本的插入与删除.

    (3)字符串替换,行的复制,移动,撤销,删除.

    二.实验内容.

    1.新建文本文件.

    1)输入vi,启动vi文本编辑器,此时是命令模式.

    image==============================================

    下面把链接的内容完整的用蓝点中文来运行,所有文字复制于http://www.cnblogs.com/iuices/archive/2011/12/02/2272409.html

    =============================================

    vi编辑器的使用(1)

         Linux 系统下的文本编辑器有很多种,包括图形模式下的gedit、kwrite等,文本模式下的vi、vim(vi的增强版本)、emacs等。其中vi和emacs是Linux系统中最常用的两个编辑器。本节主要介绍vi编辑器,主要内容包括:

    •      vi编辑器的基本使用,包括vi的启动与退出、工作模式的切换、光标的移动、屏幕的滚动、文本的插入与删除、复制与粘帖、查找与替换等。
    •      vi编辑器之程序编辑,包括程序设计中光标的跳转、关键字的补全,以及代码的缩进等。

         希望通过本节的学习,能够基本掌握vi编辑器的使用方法和相关技巧,能够独立完成程序源代码的编辑和修改。

    1 vi编辑器的基本使用

         vi编辑器是Linux系统下的标准编辑器。虽然命令繁多复杂,并且绝大多数功能的输入都依靠键盘来完成,但如果我们熟悉掌握之后就会发现vi编辑器的功能、效率等都是其他图形界面编辑器无法比拟的,下面让我们来揭开它的神秘面纱。

    1.1 vi的启动

         在终端输入命令vi,后面接着输入想要创建或编辑的文件名,即可进入vi编辑器。

         $ vi example.c

         命令的结果如图1-1所示:

    image

    图1-1 vi编辑器新建文件

         如果vi命令后面所输入的文件不存在,则系统会自动创建一个以该字符串命名的文本文件。如上图,光标停留在左上方,由于新建文件中没有任何内容,所以每一行的开头都为波浪线。窗口的底部为状态栏,显示当前编辑文件的相关信息。

         打开文件后,光标停留在屏幕左上方。状态栏显示了当前编辑文件的文件名、行数以及字符数等信息,如图1-2所示。

         vi命令打开文件时还可以带参数,这些参数用于修正vi的打开方式,主要包括如下:

    •      -R 以只读方式打开文件。

         如果只需阅读文件内容而不想对其进行修改时,可以使用这个参数,以防对文件的误操作,如下:

         $ vi –R example.c

         运行命令如图1-3所示。

    1-2

    image 

    1-3

                                                                            图1-2 vi编辑器打开文件                                                        图1-3 以只读方式打开文件

    •       -x 对文件进行加密。

         该参数可以在保存文件时对其进行加密,以后每次打开都需要输入密钥,否则将出现乱码。

         如果在打开vi时,没有给出文件名,也没有给出任何参数,即:

         $ vi

         命令结果如图1-4所示:

    1-4

    图1-4 直接打开vi编辑器

         此时,vi编辑器中所有行都为空,窗口中央给出的是vi编辑器的使用帮助,当用户在vi中输入文本或执行命令时,该帮助信息会自动消失。另外,如果以这种方式打开vi编辑器,在保存文件时,需要指定文件名。

    1.2 vi的工作模式

         vi有3种工作模式:普通模式、编辑模式和命令模式,这3种模式之间可以相互切换,如图1-5所示。

    1-5

    图1-5 vi编辑器的工作模式

    1.普通模式

         由Shell进入vi编辑器时,首先进入普通模式。在普通模式下,从键盘输入任何字符都被当作命令来解释。普通模式下没有任何提示符,当输入命令时立即执行,不需要回车,而且输入的字符不会在屏幕上显示出来。

         普通模式下可以输入命令进行光标的移动,字符、单词、行的复制、粘帖以及删除等操作。

    2.编辑模式

         编辑模式主要用于文本的输入。在该模式下,用户输入的任何字符都被作为文件的内容保存起来,并在屏幕上显示出来。在普通模式下,输入a(附加命令)、c(修改命令)、i(插入命令)、o(另起新行)、r(取代命令)以及s(替换命令)都将进入编辑模式,此时vi窗口的最后一行会显示“插入”。输入i命令时屏幕上并无变化,但是通过执行i命令,编辑器由普通模式切换为编辑模式,如图1-6所示。

    1-6

    image

    图1-6 编辑器由普通模式切换为编辑模式

         接着输入x=,屏幕显示如图1-7所示。

         要返回到普通模式,只需按键Esc即可。

    1-7:

    图1-7 在编辑模式下输入字符

    3.命令模式

         命令模式下,用户可以对文件进行一些附加处理。尽管普通模式下的命令可以完成很多功能,但要执行一些如字符串查找、替换、显示行号等操作还是必须要进入命令模式的。

         在普通模式下输入冒号即可进入命令模式,此时vi窗口的状态行会显示出冒号,等待用户输入命令。用户输入完成后,按回车执行,之后vi编辑器又返回到普通模式下。

    1.3 文件的保存和退出

         当编辑完毕,需要退出vi编辑器时,可以在命令模式下使用命令退出vi,返回到Shell。

    1.保存退出

         保存退出是指将缓冲区中的内容写入文件,可以使用的命令为wq和x,如图1-8所示。

    1-8

    image

    图1-8 vi编辑器的""::保存退出

    2.强行退出

         强行退出是指无条件退出,不把缓冲区中的内容写入文件,所使用的命令为q!。其中感叹号“!”表示不管文件是否被修改,放弃所修改的内容强行退出。

    image

    3.直接退出

         直接退出和强行退出的区别是如果文件内容有修改则给出提示,如图1-9所示,否则直接退出。直接退出使用的命令为q。

    1-9

    image

    图1-9 vi编辑器的直接退出

         应该要注意一点,vi编辑器编辑文件时,用户的操作都是基于缓冲区中的副本进行的。如果退出时没有保存到磁盘,则缓冲区中的内容就会被丢失。所以,在退出vi编辑器时应该考虑是否需要保存所编辑的内容,然后再选择执行合适的退出命令。保存命令为w,如果打开vi时没有给出文件名,这时还需要给相互文件名。

         未完,待续…

    =======================================

    下面继续我们的实验内容.

    =======================================

    2)要求:新建文件temp,内容为: i love linux and programming.

    步骤:

    -->1.进入vi,使用vi temp
    image -->2.按"i"键,从"命令模式"转为"插入模式",屏幕提示"---INSERT---"字样.

    image --->3.输入内容:

    image --->4.按"Esc",返回命令模式."------INSERT------""字样消失.

    image --->5.按":"进入最后行模式,输入 "w temp",保存文件.

    image 回车后如下:

    image -->6.按":",输入q,退出vi.

    image 回车后:

    image -->7.查看文件是否存在和文件内容:

    image

    3)要求:新建f8,其内容为: this is the content of file8.

    步骤:

    --->1.输入vi f8,进入vi .

    image

    --->2.按"i"进入编辑模式,输入文本内容:

    image image

    -->3.按":",输入 wq,保存退出.

    image image

    --->4.查看文件.

     image

    2.光标移动与行号显示.

    2.1要求:打开f8并显示行号.

    步骤:

    --->1.vi f8,进入vi编辑器.

    --->2.按":",切换到最后行模式,输入"set nu"",即可以看到行号.

    image

    image

    2.2要求:利用f8文件进行光标的移动.

    --->1.打开文件:vi f8.

    此时,按方向键:"←↑↓→"发现光标可以移动.

    (普通模式)

    --->2续按三个"↓"可以移动到最后一行行首.

    按"$"可以移动到行尾.(同End键.)

    --->3.按"H"(大写)可以移动到第一行行首.

    --->4.按"^"移动到每一行的行首.((Home键移动到每一行的行首.))

    --->5.按"4gg"可以移动到第四行行首.

    同理"5gg"移动到第五行行首.

    ---->6.连续按两次"ZZ"(大写,)退出vi.

    image

    3.编辑文件.

    3.1要求:

    在f8文件的第一行末尾插入:"end of the first line."

    最后一行插入内容:"   this is the end line."

    步骤:

    ---->1.vi f8,进入vi.

    image

    ----->2."a"键,出现"==INSERT===="字样,进入编辑模式.

    image

    ----->3.移至第一行行尾,"End"键.输入内容

    image

    image -->5.移至文件末尾,"4gg"."End",当然只用方向键也可以.添加内容:

    image 3.2要求:

    在第三上前增加"line3"于行首.

    将content改为CONTENT.

    将"is"替换为"IS".

    步骤:

    --->1.移动到第三行行首:"3H",添加内容:"Line 3"

    image --->2.删除content,输入CONTENT.

    在content的c处放置光标,按Delete键删除.

    输入"CONTENT".

    image

    image

    3."is"替换为"IS"

    按":"进入最后行模式,输入"s/is/IS/g"

    这样就可以替换一行的is为IS.

    image 3.3要求:

    把第二行的移动到文件最后,删除第一行和第二行并恢复删除,并不保存修改.

    步骤:

    --->1.":"进入最后行模式,输入"2 , 2 m 4"把第二行移动到最后一行.

    image
    --->2.删除第1行和第2行.

    输入":"进入最后行模式,输入"1,2 d "删除行.

    (删除前,显示行号,":"进入,输入"set nu")

    image image --->3.恢复上一步,普通模式下,"U"(undo)

    ---->4.按":q!"强制退出,不保存修改.

    3.4要求:

    复制第1行,添加到文件最后,删除第二行,保存修改,退出vi.

    步骤:

    ---->1."vi f8"进入vi

    image --->2.按":"进入最后行模式,输入"1,1 co 2"(line 1 copy behind line2)

    image

    回车:

    image

    --->3.光标到第二行,普通模式下输入dd,第二行消失.

    (普通模式下输入的字符不可见,命令立即执行.)

    image image --->4.":"进入最后行模式,输入"w"存盘.

    "wq" (write and quit)

    "q"(quit)

    "q!"(quit ignore what you have modified).

    image 3.5要求:

    打开f8,在第二行插入test文件的内容.

    image 步骤:

    --->1.打开f8文件.

    image

    image

    ---->2.打开test文件

    ":",然后输入 r test(read file test).

    image --->3.按":",输入"wq",存盘,退出.

    image --->4.查看修改后的f8文件:

    image

  • 相关阅读:
    在cmd中登录ftp服务器
    Is valid identifier?
    Hosting Your Own NuGet Feeds
    NuGet学习笔记
    软件版本的处理
    有些事明显对自己有益,为什么却无法去做?
    .net 程序员成长路线图?
    正确跑步姿势是怎样的?
    什么叫做内心强大?怎样变成一个内心强大的人?
    使用命令行复制目录
  • 原文地址:https://www.cnblogs.com/xilifeng/p/2572033.html
Copyright © 2020-2023  润新知