文本编辑
1. 目标及几种模式
1.1. 熟悉 Linux 系统中经常使用的编辑器以及编辑器分类; vi Emacs nano gedit
1.2. 熟练掌握 VI 编辑器的模式切换;命令模式 输入模式 末行模式
1.3. 熟练掌握 VI 编辑器的各类模式下的操做;
命令模式:
----VI 编辑器的启动与退出; vi vi 文件名 :q!
----文件操做;
----光标移动操做;
h l k j ctrl+f ctrl+b ^ $ w G 1G #G I a o cw c$ c^ x dd dw de J u U yy yw y$ p
----编辑操做;
----查找与替换操做;
----VI 的在线帮助; F1 :help
输入模式:
----方向键 进行上下左右方向的光标移动
----Home 快速定位光标到行首
----End 快速定位光标到行尾
----PageUp 进行文本的向上翻页
----PageDown 进行文本的向下翻页
----Backspace 删除光标左侧的字符
----Del 删除光标位置的字符
末行模式:
----/ 从上而下搜索
----? 从下而上搜索
----:s 替换 :s/old/new :#,#s/old/new :%s/old/new /g /c
----:e :r :w :q
----同时打开多个文件并切换
:args 显示多文件信息
:next 向后切换文件
:prev 向前切换文件
:first 定位首文件
:last 定位尾文件
Ctrl + ^ 快速切换到编辑器中切换前的文件
1.4. 使用 VI 编辑器熟练的操做文本文件、配置文件、脚本文件等;配置彻底末稍区域
2. 具体操做
2.1.1. 末行模式操做
打开新文件
打开新的文件到vi编辑器中
:e filename
打开新的文件到vi编辑器中,并放弃对当前文件的修改
:e! filename
读取文件内容到当前vi编辑器中
:r filename
保存文件
保存对vi编辑器中已打开文件的修改
:w
另存为文件
将vi编辑器中的内容另存为指定文件名
:w myfile
未修改退出
没有对vi编辑器中打开的文件进行修改,或已对修改进行了保存,直接退出vi编辑器
:q
保存并退出
对vi编辑器中的文件进行保存并退出vi编辑器
:qw
不保存退出
放弃对文件内容的修改,并退出vi编辑器
:q!
在编辑器中显示行号 :set nu
在编辑器中不显示行号 :set nonu
查找
从上而下在文件中查找字符串word
/word
从下而上在文件中查找字符串word
?word
定位下一个匹配的被查找字符串 n
定位上一个匹配的被查找字符串 N
替换操做
将当前行中查找到的第一个字符“old” 串替换为“new”
:s/old/new
将当前行中查找到的全部字符串“old” 替换为“new”
:s/old/new/g
在行号“#,#”范围内替换全部的字符串“old”为“new”
:#,#s/old/new/g
在整个文件范围内替换全部的字符串“old”为“new”
:%s/old/new/g
在替换命令末尾加入c命令,将对每一个替换动做提示用户进行确认
:s/old/new/c
多文件操做
显示多文件信息 :args
向后切换文件 :next
向前切换文件 :prev
定位首文件 :first
定位尾文件 :last
快速切换到编辑器中切换前的文件 Ctrl + ^
2.2. 命令模式操做
直接进入编辑环境 $ vi
进入编辑环境并打开(新建)文件 $ vi myfile
退出vi编辑环境 :q
光标的移动与翻页
操做类型 光标操做键 功能
光标移动 h 向左移动光标
l 向右移动光标
k 向上移动光标
j 向下移动光标
翻页 Ctrl + f 向前翻整页
Ctrl + b 向后翻整页
Ctrl + u 向前翻半页
Ctrl + d 向后翻半页
行内快速跳转
操做键 功能
^ 将光标快速跳转到本行的行首字符
$ 将光标快速跳转到本行的行尾字符
w 将光标快速跳转到当前光标所在位置的后一个单词的首字母
b 将光标快速跳转到当前光标所在位置的前一个单词的首字母
e 将光标快速跳转到当前光标所在位置的后一个单词的尾字母
进入输入模式
命令 功能
i 在当前光标处进入插入状态
a 在当前光标后进入插入状态
A 将光标移动到当前行的行末,并进入插入状态
o 在当前行的下面插入新行,光标移动到新行的行首,进入插入状态
O 在当前行的上面插入新行,光标移动到新行的行首,进入插入状态
cw 删除当前光标到所在单词尾部的字符,并进入插入状态
c$ 删除当前光标到行尾的字符,并进入插入状态
c^ 命令删除当前光标以前(不包括光标上的字符)到行首的字符,并进入插入状态
删除操做
命令 功能
x 删除光标处的单个字符
dd 删除光标所在行
dw 删除当前字符到单词尾(包括空格)的全部字符
de 删除当前字符到单词尾(不包括单词尾部的空格)的全部字符
d$ 删除当前字符到行尾的全部字符
d^ 删除当前字符到行首的全部字符
J 删除光标所在行行尾的换行符,至关于合并当前行和下一行的 内容
撤销操做
命令 功能
u 取消最近一次的操做,并恢复操做结果
能够屡次使用u命令恢复已进行的多步操做
U 取消对当前行进行的全部操做
Ctrl + r 对使用u命令撤销的操做进行恢复
复制与粘贴操做
命令 功能
yy 复制当前行整行的内容到vi缓冲区
yw 复制当前光标到单词尾字符的内容到vi缓冲区
y$ 复制当前光标到行尾的内容到vi缓冲区
y^ 复制当前光标到行首的内容到vi缓冲区
p 读取vi缓冲区中的内容,并粘贴到光标当前的位置(不覆盖文 件已有的内容)
2.3. 输入模式操做
输入模式的操做
按键 功能
方向键 进行上下左右方向的光标移动
Home 快速定位光标到行首
End 快速定位光标到行尾
PageUp 进行文本的向上翻页
PageDown 进行文本的向下翻页
Backspace 删除光标左侧的字符
Del 删除光标位置的字符
2.4. 在线帮助
使用vi在线帮助需安装的软件包
vim-common-6.3.035-3.i386.rpm
vim-enhanced-6.3.035-3.i386.rpm
软件包在RHEL4的第2张安装光盘
使用vi在线帮助的两种方法
在vi编辑器中按“F1”键
输入help末行命令
3. 关键点
本章关键点为 VI 编辑器的三种常见模式的切换与识别; 命令模式、插入模式和末行模式;