实验题目:Linux常用工具的使用(2):文本编辑器的使用
实验目的:
(1)理解文本编辑器vi的工作模式;
(2)掌握文本编辑器的使用方法
实验内容:
(1)阐述vi编辑器的3种工作模式,以及如何实现工作模式的互相转换?
(2)在文本编辑器vi中,实现下列功能,列举出一个例子即可:
1)添加单个字符、多个字符
2)删除单个字符、删除整行文本
3)文本的替换
4)文本的复制和粘贴
5)文本的剪切和粘贴
6)全文关键字查找
7)全文字符串替换
8)保存、另存为、退出
9)同时打开两个文件,实现两个窗口的切换
10)区域复制
11)与shell交互
实验步骤:
(1)阐述vi编辑器的3种工作模式,以及如何实现工作模式的互相转换?
vi编辑器有3种基本工作模式,分别是:
- 命令模式:这是进入vi编辑器后的默认模式。在该模式下,用户可以输入vi命令来管理自己的文档。此时从键盘上输入的任何字符都被当作编辑命令来解释。若输入的字符是合法的vi命令,则vi在接受用户命令之后完成相应的动作。但需要注意的是,所输入的命令并不回显在屏幕上。若输入的字符不是vi命令,vi会响铃报警。任何时候,不管用户处于何种模式,按下Esc键即可进入命令模式。
- 文本输入模式:在命令模式下输入插入命令i、附加命令a、打开命令o、修改命令c、取代命令r或替换命令s都可以进入文本输入模式。在该模式下,用户输入的任何字符都被vi当作文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按Esc键即可。
- 末行模式:也称ex转义模式。在命令模式下,用户按“:”键即可进入末行模式下,此时vi会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个“:”作为末行模式的说明符,等待用户输入命令。多数文件管理命令都是在此模式下执行的(如把编辑缓冲区的内容写到文件中等)。末行命令在执行完后,vi自动回到命令模式。
工作模式的互相转换:
- 从命令模式切换到文本输入模式:输入i(插入)、a(附加)、o(打开新行)等命令。
- 从文本输入模式切换回命令模式:按Esc键。
- 从命令模式切换到末行模式:按“:”键。
- 从末行模式切换回命令模式:执行完末行命令后,vi会自动回到命令模式,或者按Esc键退出末行模式。
(2)在文本编辑器vi中,实现下列功能,列举出一个例子即可:
- 添加单个字符、多个字符:
- 在命令模式下,按i进入文本输入模式,然后输入单个字符或多个字符。
- 删除单个字符、删除整行文本:
- 删除单个字符:在命令模式下,将光标移动到要删除的字符上,按x键。
- 删除整行文本:在命令模式下,按dd键删除当前行。
- 文本的替换:
- 在命令模式下,按r键,然后输入要替换的字符。或者进入末行模式,使用:s/old/new/g命令替换当前行中所有出现的old为new。
- 文本的复制和粘贴:
- 复制:在命令模式下,按yy复制当前行,或按nyy复制从当前行开始的n行。
- 粘贴:在命令模式下,按p键将复制的内容粘贴到当前行的下一行。
- 文本的剪切和粘贴:
- 剪切:实际上,删除操作(如dd)也会将文本剪切到缓冲区中。
- 粘贴:与上述复制后的粘贴操作相同,按p键。
- 全文关键字查找:
- 在命令模式下,按/键,然后输入要查找的关键字,按Enter键开始查找。
- 全文字符串替换:
- 在末行模式下,使用:%s/old/new/g命令替换整个文件中所有出现的old为new。
- 保存、另存为、退出:
- 保存:在末行模式下,输入:w命令。
- 另存为:在末行模式下,输入:w newfilename命令。
- 退出:在末行模式下,输入:q命令。如果文件有未保存的更改,vi会提示保存更改。强制退出不保存可以使用:q!命令。
- 同时打开两个文件,实现两个窗口的切换:
- 在命令行中使用vi -O filename1 filename2命令同时打开两个文件,它们会在垂直分割的窗口中显示。使用Ctrl+w w命令在两个窗口之间切换。
- 区域复制:
- 在命令模式下,使用V(行选择)或Ctrl+v(块选择)命令选择区域,然后按y键复制选择的区域。
- 与shell交互:
- 在末行模式下,使用:!command命令执行shell命令。例如,输入:!ls列出当前目录的内容。
实验体会:
通过本次实验,我深入理解了vi编辑器的工作模式,并掌握了vi编辑器的使用方法。我能够熟练地在vi编辑器中进行文本的添加、删除、替换、复制、粘贴、查找和替换等操作,同时也学会了如何保存文件、退出编辑器以及同时打开多个文件进行编辑。此外,我还了解了如何在vi编辑器中与shell进行交互。这些技能将对我未来的学习和工作产生积极影响。