嵌入式Linux上的C语言编程实践--第3章-Linux的文本编辑工具VIppt课件.ppt
《嵌入式Linux上的C语言编程实践--第3章-Linux的文本编辑工具VIppt课件.ppt》由会员分享,可在线阅读,更多相关《嵌入式Linux上的C语言编程实践--第3章-Linux的文本编辑工具VIppt课件.ppt(56页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1第第3 3章章 Linux Linux的文本的文本编辑工具编辑工具VIVI3.1 vi3.1 vi文本编辑器概述文本编辑器概述与Unix相同,Linux本质上是一个文本驱动(text-driven)的操作系统。文本文件就是全部由ASCII码字符及某种语言的编码字符构成的文件,不含有任何样式和格式信息。文本文件可以被任何文本编辑器解释而不会出现乱码,还可以被所有程序操作和使用。在Linux系统中,文本文件被广泛地用作系统配置文件和系统工具软件的操作对象。这使得用户可以在文本方式下完成所有的工作,如编写程序和命令脚本、读/写电子邮件、配置和管理系统等。而完成所有这些工作的基本工具就是文本编辑器。
2、因此,Linux的用户应当熟悉至少一种文本编辑器。3.1.1 vi3.1.1 vi文本编辑器介绍文本编辑器介绍Linux下的文本编辑器有ex、sed、vi和emacs等很多种。其中,vi是最基本的文本编辑工具。vi(visual)诞生于1978年,由柏克莱大学的Bill Joy编写。从其诞生至今,vi始终是所有Unix/Linux系统上必配的编辑器,甚至在DOS、Windows、Macintosh、OS/2乃至IBM大型机S/390系统上都能见到vi的某个版本。目前Linux系统上流行的版本是vi增强版vim(vi improved)。vim是一个开放源代码软件,它在vi的基础上增强了功能,也
3、更容易使用。现在许多Linux发行版中的vi就是vim。3.1.1 vi3.1.1 vi文本编辑器介绍文本编辑器介绍vi是一个全屏幕文本编辑器,具有文本编辑所需的所有功能。vi以高效和快捷著称,这是vi能够在编辑器领域中保持几十年领先地位的原因。以下介绍vi的几个突出特点3.1.1 vi3.1.1 vi文本编辑器介绍文本编辑器介绍1. 编辑功能强大编辑功能强大vi的编辑功能十分强大,除通常的编辑功能外,vi还支持一些高级编辑特性,如正则表达式、宏和命令脚本。利用这些特性可以完成非常复杂的编辑任务,实现编辑的智能化和自动化。另一方面,vi的功能又十分专注,它只是一个编辑器,没有其他功能。Linu
4、x系统提供了许多专门用途的工具,如排版、排序、流过滤、E-mail、编译等软件。vi可以和这些工具软件协同工作,从而实现几乎所有的文件加工处理任务。用一些小而精悍、功能专一的工具结合起来完成复杂的处理功能,这正是Unix的设计哲学。3.1.1 vi3.1.1 vi文本编辑器介绍文本编辑器介绍2. 适用于各种版本的适用于各种版本的Unix/Linux系统系统vi是Unix/Linux系统的标准文本编辑器,几乎每一台Unix/Linux系统上都会有vi,这是其他编辑器无法相比的。3. 适用于各种类型的终端适用于各种类型的终端vi得以广泛应用的原因之一是它对终端设备的广泛适应性。不管是只有打字机键盘
5、加Esc键的简单终端,还是受通信限制的远程终端,或是配有完备的功能键和鼠标的现代化终端,都可以很好地支持vi完成文本编辑工作。3.1.1 vi3.1.1 vi文本编辑器介绍文本编辑器介绍4. 使用灵活快捷使用灵活快捷广泛适应性带来的问题是繁多的命令。对于同一项编辑操作,vi提供了许多不同的命令。vi的命令都很简练,往往是单个字符或少数几个字符的组合。对初学者来说,使用这些命令并不方便,甚至过于复杂。但对于熟练的用户来说,更多的选择意味着更大的自由,简单的命令意味着更少的击键次数。正因为如此,vi被看做是Linux开发人员和系统管理员的编辑利器。初学者经过一段时间的使用,也会逐渐习惯vi的操作方
6、式,并形成自己特有的操作风格。3.1.2 vi3.1.2 vi的工作模式的工作模式vi是一个多模式的软件,它有三种工作模式。在不同的工作模式下,它对输入的内容有不同的解释。1. 命令模式命令模式(Command mode)在命令模式下,输入的任何字符都作为命令来解释执行,屏幕上不显示输入内容。命令模式用于完成各种文本修改工作。2. 输入模式输入模式(Insert mode)在输入模式下,输入的任何字符都将作为文件的内容被保存,并显示在屏幕上。输入模式用于完成文本录入工作。3.1.2 vi3.1.2 vi的工作模式的工作模式3. 末行模式末行模式(Last line mode)底行模式底行模式末
7、行模式也称为ex转义模式。在末行模式下,光标停留在屏幕的最末行,在此接收输入的命令并执行。末行模式用于执行一些全局性操作,如文件操作、参数设置、查找与替换、拷贝与粘贴、执行Shell命令等。在文本编辑过程中,用户可以控制vi在这三种工作模式之间进行切换,完成各种编辑工作。三种模式之间的转换关系如图3-1所示。3.1.2 vi3.1.2 vi的工作模式的工作模式图3-1 vi工作模式的转换 A a I i O o: / ?3.1.3 vi3.1.3 vi的启动与退出的启动与退出在Shell下输入vi命令后,便进入全屏幕编辑环境命令格式是:vi 文件名 +n+/str保存与退出:w-保存但不退出:
8、w -另存为:wq-保存后退出;q!-不保存退出:q-未编辑,直接退出,编辑过则提示但不退出常用命令介绍文本插入命令a a-在当前光标后插入字符A A-在行尾插入i i-在当前光标前插入字符I I-在行首插入o o-在当前行的下一行插入新行OO-在当前行的上一行插入新行常用命令介绍移动光标命令h j k lh j k l-左、下、上、右移动光标,相当于光标键的作用。b B w W e Eb B w W e E-以单词为单位移动光标( )-以句为单位移动光标 -以段为单位移动光标f bf b-前后翻页(f-pagedown b-pageup)0 $0 $-移动光标到行首(0)或行尾($)nGnG
9、-移动光标到第n行(1G-到文本首行,1G=gg1G=gg)GG-光标移到文本末行 常用命令介绍删除文本命令x x-删除当前光标位置的字符(del) nx-删除n个字符 X X-删除当前光标前的字符(backspace)nXdddd-删除当前行 (ndd-删除当前行开始的n行)D D-删除光标位置到行尾之间的字符(删后半行)d0d0-删除光标位置到行首之间的字符(删前半行)注:删除的内容均进入剪贴板 合并行命令J J-将光标所在行的下一行合并到当前行常用命令介绍替换(改写)文本命令r r-用随后输入的一个字符替换当前字符R R-用随后输入的字符替换光标位置开始的若干字符,每输入一个字符就替换一
10、个原有字符,直到按Esc键。(相当于进入改写状态)s s-用随后输入的一个或多字符替换当前光标位置的一个字符,若只输入一个则与r命令相同。S S-用新输入的内容替换当前行(不管光标在行中何处)常用命令介绍查找字符串命令/str/str-从光标处往后搜索字符串str?str?str-从光标处往前搜索字符串strn n-在执行以上查找命令的基础上继续搜索下一个strNN-在执行以上查找命令的基础上反向搜索下一个str常用命令介绍查找替换命令:m,n:m,ns s/str1/str2/gc/str1/str2/gc-将第m行与第n行之间的所有str1替换成str2,如果后面是g,则自动替换(替换前不
11、提示),如果后面为c,则每次替换前均要提示是否替换。例如::4,15:4,15s s/str1/str2/g/str1/str2/g-自动替换第4行到第15行中的str1: :s s/str1/str2/g/str1/str2/g-只替换当前行中的str1:%:%s s/str1/str2/g/str1/str2/g-替换所有行中的str1,等价于:1,$s/str1/str2/g常用命令介绍文本选择v v-进入按字选择模式:上下左右移动光标进行文本选择(可任意选择)V V-进入按行选择模式:上下移动光标进行文本行的选择(只能选择若干行)常用命令介绍剪切命令d d-剪切选定的内容至剪贴板 dd
12、dd-剪切当前行至剪贴板复制命令y y-复制选定的内容至剪贴板 yyyy-复制当前行至剪贴板粘贴命令p p-将剪切板中的内容粘贴到下一行(或当前光标之前)P P-将剪切板中的内容粘贴到上一行(或当前光标之后)高级用法提示使用多个剪切板的方法: 在使用剪切或复制命令前先按,便可将相应的内容剪切或复制到小写字母对应的剪贴板中,在粘贴命令前用便可将指定的剪贴板中的内容粘帖到相应的位置。如 ad bdd cy dyy cp bP常用命令介绍部分底行命令:set ai/noai:set ai/noai-设置/取消自动缩进:set nu/nonu:set nu/nonu-设置/取消行号显示:set hls
13、earch/nohlsearch:set hlsearch/nohlsearch-设置/取消高亮显示搜索到的字符串:n:n-跳转到第n行: :n1n1, ,n2n2cocon3n3-将第n1至n2之间的行复制到第n3行下面。: :n1n1, ,n2n2mmn3n3-将第n1至n2之间的行移动到第n3行下面。: :n1n1, ,n2n2d d-删除第n1至n2之间的行3.1.3 vi3.1.3 vi的启动与退出的启动与退出vi +n+/strvi启动后首先进入命令模式。此时,用户可以使用vi的编辑命令进行文本的输入和修改。注意:编辑命令只是修改调入编辑缓冲区中的文件的副本,文件本身不会被修改。所
14、以,编辑完成后,要用:wq命令将修改后的内容保存到文件中并退出vi。若此次运行未对原文件作任何修改,则可用:q命令退出。图3-3示意了退出命令的用法。3.2 vi3.2 vi基基本本命命令令vi的命令繁多,但通常的编辑工作只需要掌握其中一小部分命令。而对于一些特殊的操作或编辑任务,总能够在vi手册中找到适当的命令。vi的常用编辑命令分为以下几类: 屏幕翻滚命令; 移动光标命令; 插入与删除命令; 修改与替换命令; 拷贝与粘贴命令; 复原与重复命令。3.2 vi3.2 vi基基本本命命令令vi的命令通常是简单的字符(如a、s、c)或是字符组合(如dw、cc),还有少数几个控制键组合字符(如Ctr
15、l+u)。这就是说,仅仅通过普通键盘就可以实现所有编辑工作,完全不需要用鼠标,也不倚赖于某些控制键。比起使用鼠标和复杂控制组合键来说,键入字符命令的速度要快得多。因此,熟练使用这些字符命令能够提高编辑的效率。尽管只用字符命令就可以完成所有编辑工作,vi还是提供了对现代键盘上的编辑键的支持。适当地使用这些熟悉的按键将使编辑操作更加轻松。表3-1列出了这些键在不同模式下的作用。3.2 vi3.2 vi基基本本命命令令表表 3-1vi 按键功能说明按键功能说明按按键键命令模式命令模式输入模式输入模式末行模式末行模式Home移动光标到行的最前面移动光标到行的最前面移动光标到行的最前面移动光标到行的最前
16、面移动光标到行的最前面移动光标到行的最前面End移动光标到行的最后面移动光标到行的最后面移动光标到行的最前面移动光标到行的最前面移动光标到行的最前面移动光标到行的最前面PageDown向下翻一页向下翻一页移动光标到行的最前面移动光标到行的最前面向下翻找历史命令向下翻找历史命令PageUp向上翻一页向上翻一页移动光标到行的最前面移动光标到行的最前面向下翻找历史向下翻找历史命令命令Delete删除光标位置的字符删除光标位置的字符移动光标到行的最前面移动光标到行的最前面同左,行尾时同同左,行尾时同 BackspaceInsert进入输入模式进入输入模式替换替换-插入插入无效无效Backspace光标
17、前移一个字符光标前移一个字符删除光标前的字符删除光标前的字符删除光标前的字符删除光标前的字符Space光标后移一个字符光标后移一个字符空格空格空格空格Enter光标下移一个字符光标下移一个字符换行换行提交命令提交命令按箭头方向移动光标按箭头方向移动光标按箭头方向移动光标按箭头方向移动光标 前后移动光标,前后移动光标,上下翻找历史命令上下翻找历史命令3.2 vi3.2 vi基基本本命命令令以下分类介绍常用的vi命令。注意:在命令模式下输入的字符都被vi解释为命令,不在屏幕上显示。若输入的是非法命令则响铃报警。此外,vi的命令是区别大小写的,即大写字母和小写字母代表的是不同的命令。3.2.1 3.
18、2.1 屏幕翻滚屏幕翻滚当编辑的文件比较大时,使用翻屏命令可以快速地将要编辑的区域调入屏幕显示区。用PageDown和PageUp键可以方便地实现上下翻屏,但在有些场合下需要用命令来实现更灵活的翻屏操作。常用的几个翻屏命令介绍如下。翻屏命令:Ctrl+u:向上翻半屏。Ctrl+d:向下翻半屏。Ctrl+f:向下翻一屏。同PageDown键。Ctrl+b:向上翻一屏。同PageUp键。nz+Enter:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部3.2.2 3.2.2 光标定位与移动光标定位与移动在输入或修改文本前,应先将光标移到适当的位置。vi不支持用鼠标移动光标的方式,但以下命令可以
19、更加高效地定位和移动光标。光标定位命令:0 光标移至行首。同Home键。 光标移至行首第1个非空格字符。$ 光标移至行尾。同End键。nG 光标移到第n行,未指定n时移到末行。n| 光标移到第n列,未指定n时移到首列。H、M、L 光标移到屏幕首、中、尾行行首。3.2.2 3.2.2 光标定位与移动光标定位与移动光标移动命令:h、j、k、l光标向左、下、上、右移一个字符。同箭头键。b、w光标移到上一个词、下一个词首。e光标移到词尾。(、)光标移到句首、句尾。、光标移到段首、段尾。注:以上光标移动命令前带数字n时,表示重复移动n次。如:2h为左移2格,3e为移到后面第3个词的词尾。3.2.3 3.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 Linux 语言 编程 实践 文本编辑 工具 VIppt 课件
限制150内