欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

《Unix & Linux 大学教程》 - 第二十二章(一) 学习笔记

程序员文章站 2022-05-16 17:11:51
...

学习笔记,内容基础,适合初学者。

 

阅读之前,请务必花30秒查看前言说明(在第一、二章前面部分)

《Unix & Linux 大学教程》 - 第一、二章 学习笔记    Unix简介 & 什么是Linux?什么是Unix

《Unix & Linux 大学教程》 - 第三、四章 学习笔记    Unix连接 & 开始使用Unix

《Unix & Linux 大学教程》 - 第五、六章 学习笔记    GUI:图形用户界面 & Unix工作环境

《Unix & Linux 大学教程》 - 第七、八章 学习笔记    Unix键盘使用 & 能够立即使用的程序

《Unix & Linux 大学教程》 - 第九、十章 学习笔记    文档资料:Unix手册与Info & 命令语法

《Unix & Linux 大学教程》 - 第十一、十二章 学习笔记    shell & 使用shell:变量和选项

《Unix & Linux 大学教程》 - 第十三章 学习笔记    使用shell:命令和定制

《Unix & Linux 大学教程》 - 第十四、十五章 学习笔记     使用shell:初始化文件

《Unix & Linux 大学教程》 - 第十六、十七章 学习笔记    过滤器:简介和基本操作
《Unix & Linux 大学教程》 - 第十八章 学习笔记    过滤器:统计和格式化
《Unix & Linux 大学教程》 - 第十九章(一) 学习笔记    过滤器:选取、排序、组合及变换
《Unix & Linux 大学教程》 - 第十九章(二)、第二十章 学习笔记  过滤器:选取、排序、组合及变换 正则表达式

《Unix & Linux 大学教程》 - 第二十一章 学习笔记  显示文件

《Unix & Linux 大学教程》 - 第二十二章(一) 学习笔记  vi文本编辑器(一)

《Unix & Linux 大学教程》 - 第二十二章(二) 学习笔记  vi文本编辑器 (二)

《Unix & Linux 大学教程》 - 第二十二章(三) 学习笔记  vi文本编辑器 (三)

《Unix & Linux 大学教程》 - 第二十三章 学习笔记  Unix文件系统

《Unix & Linux 大学教程》 - 第二十四章 学习笔记  目录操作

《Unix & Linux 大学教程》 - 第二十五章 学习笔记  文件操作

《Unix & Linux 大学教程》 - 第二十六章(一) 学习笔记  进程和作业控制

《Unix & Linux 大学教程》 - 第二十六章(二) 学习笔记  进程和作业控制

《Unix & Linux 大学教程》 - 附录F 时区与24小时制时间

 

第二十二章:vi文本编辑器(一)

Vim:vi的改进版,许多Linux发行版将vi替换为Vim

 

区分vi和Vim

两种方法

1.查看vi说明书页:man vi

2.vi,或vi --version,就能查看到信息

 

 

启动

vim -C [file...]

-C:以兼容模式运行(compatibility mode)。使得vim尽可能的像vi一样运行

 

vim -C:以兼容模式运行,建立一个全新的文件

vim -C file:以兼容模式运行,打开一个名为“file”的文件

 

以只读方式启动vi

vi -R file...

view file...

-R(read-only,只读):以只读方式启动vi

 

 

命令模式(command mode)和输入模式(input mode)

模式切换:

命令模式->输入模式:

输入模式->命令模式:<Esc>

 

启动时,默认处于命令模式

处于命令模式时,按下<Esc>键会发出滴的声音。如果处于命令模式,按两下<Esc>则会发出两次滴滴声;如果处于输入模式,则结果会先切换到命令模式,然后发出一次滴滴声。按两次<Esc>键会保证你现在处于命令模式

 

使用vi时,存放数据的存储区域称为编辑缓冲区(editing buffer)

 

 

系统失败后数据的恢复

vi会时不时的将编辑缓冲区中的内容保存到一个临时文件中。(还好iteye和csdn支持这种自动保存草稿的功能)

通常vi在编辑完成时删除该临时文件,如果vi非正常终止,我们则可利用此文件恢复数据

 

vi -r file

 

注:

1.Vim通过将编辑缓冲区保存在一个交换文件(swap file)中,交换文件与正在编辑的文件存储在同一个目录中

2.每当键入200个字符或者4秒没有键入内容时,交换文件会自动更新

3.恢复文件必须使用rm命令删除文件,Vim不会自动完成此操作

4.交换文件的名称包含一个.(点号,隐藏文件),后面跟着原始文件的名称,再后面跟着.swp

5.如果没有删除交换文件,下一次会生成一个稍微有所不同的名称的文件,比如.swo(不知道什么规则,我测试了一次,swp之后会是swo,难道下一次是swn?)

 

比如执行下面命令

vi test

然后几秒钟后,在当前目录下执行

ls -a

则会看到一个名字为.test.swp的文件

恢复此文件,执行vi -r test即可

 

 

停止vi

先切换到命令模式,然后选择下面其中一种方法:

ZZ(保存并退出,vi命令)

:q!<Return>(不保存而退出,ex命令)

 

 

vi使用屏幕方式

最下面一行是命令行,其余行用来显示数据

每一个空行用“~”开头,添加新行后,此符号消失

 

 

控制字符的输入

^V+控制字符

比如输入^C,则需要按下^V^C;输入^V,则按下^V^V即可

当输入制表符时,vi显示的不是^I而是多个空格(我的系统显示是一块空白)

 

 

使用vi和ex命令

vi命令

1.大多数vi命令都是单字母或双字母形式,所以键入命令后,vi不回显命令

2.大多数vi命令都不需要键入return

3.输入了错误的vi命令不会显示错误消息,只会听到滴滴声!

 

ex命令

1.命令比vi命令长且复杂,在命令行中回显

2.都以:(冒号)开头,并且需要键入return。如果键错命令,可使用下面方法修正

作用
<Backspace>/<Delete> 删除键入的最后一个字符
^W 删除键入的最后一个单词
^X/^U 删除整行
<Esc> 取消命令

ps:在一些系统上,当进行纠正时,光标虽然回移,但是字符不消失!

 

 

 

转贴请保留以下链接

本人blog地址

http://su1216.iteye.com/

http://blog.csdn.net/su1216/