1. Shell
1.1 VI编辑器
1.1.1 VI编辑器概述
- 使用VI文本编辑器来编辑文件
1.1.2 VI编辑器的三种模式
- 一般命令模式(command mode)
- VI打开一个文件就直接进入一般命令模式
- 上下左右移动光标
- 删除、复制
- 编辑模式(insert mode)
- 一般模式可以复制、移动、删除,但是无法编辑
- 在一般模式下按下[i I o O a A r R]中的任意字符进入编辑模式
- 编辑模式下左下角出现INSERT或REPLACE字样
- 回到一般模式,按下Esc
- 命令行模式(command-line mode)
- 在一般模式中,输入[: / ?]中的任意一个字符,可以将光标移动到最下面一行
- 在命令行模式中,提供查找数据的操作
- 完成读取、保存、批量替换字符、退出VI、显示行号等操作
1.1.3 三种模式下的按键使用说明
-
一般模式下的功能按键说明
-
移动光标的方法
按键 说明 h或左箭头键← 光标向左移动一个字符 j或向下箭头键↓ 光标向下移动一个字符 k或向上箭头键↑ 光标向上移动一个字符 l或向右箭头键→ 光标向右移动一个字符 Ctrl + f 屏幕向下移动一页 Ctrl + b 屏幕向上移动一页 n n代表数字,20代表光标向后移动20个字符距离 0 数字0,移动到这一行的最前面字符处 $ 移动到这一行最后字符处 G 移动到文件的最后一行 gg 移动到这个文件的第一行 n 数字n,光标向下移动n行 -
查找与替换
指令 说明 /word 在光标处往下查找名称为word的字符串 n 重复前一个查找动作,继续向下查找 :n1,n2s/word1/word2/g n1,n2为数字,在第n1行和第n2行之间寻找word1,并替换为word2 :1,$s/word1/word2/g 从第一行到最后一行寻找word1字符串,并将字符串替换为word2 :1,$s/word1/word2/gc 与上一个指令相同,只是替换前提示用户确认是否替换 -
删除、复制与粘贴
指令 说明 x与X 在一行中,x向后删除一个字符,X向前删除一个字符 dd 删除光标所在的行 ndd n为数字,删除光标所在的往下n行 yy 复制光标所在的那一行 nyy n为数字,复制光标所在的向下n行 p与P p将复制的数据在光标下一行粘贴,P则贴在光标上一行 u 恢复前一个操作 . 小数点. 重复前一个操作
-
-
一般模式切换到编辑模式的按键说明
-
进入插入或替换的编辑模式
指令 说明 i与I 进入插入模式 i从当前光标处插入,I为在目前所在行的第一个非空格字符处插入 o与O 进入插入模式 a从当前光标下一个字符处开始插入,A光标行最后一个字符处开始插入 a与A 进入插入模式 o在当前光标行下一行插入新行,O在光标行上一行插入新行 r与R 进入替换模式 r只会替换光标所在的那一个字符一次,R会一直替换光标所在的文字,直到按Esc为止 Esc 退出编辑模式,回到一般命令模式中
-
-
一般模式切换到指令模式的按键说明
-
指令模式的保存、退出命令
指令 说明 :w 将编辑的数据写入硬盘文件中 :q 退出vi :q! 强制退出不保存 :wq 保存后退出 :wq! 强制保存后退出 ZZ 若文件没有修改,不保存退出;若修改过,保存后退出 :set nu 显示行号 :set nonu 取消行号
-