《Unix & Linux 大学教程》 - 第二十二章(一) 学习笔记
学习笔记,内容基础,适合初学者。
阅读之前,请务必花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 大学教程》 - 第二十二章(一) 学习笔记 vi文本编辑器(一)
《Unix & Linux 大学教程》 - 第二十二章(二) 学习笔记 vi文本编辑器 (二)
《Unix & Linux 大学教程》 - 第二十二章(三) 学习笔记 vi文本编辑器 (三)
《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地址