打开Linux终端,开始创建第一个文件,回车进入vim编辑器(命令模式)
[user@master ~]$ vim text 


vim编辑器的三种模式转换
插入模式<=>命令模式<=>末行模式
- 命令模式 => 插入模式 按insert键或i键、a键、o键、s键等
 - 插入模式 => 命令模式 按Esc键
 - 命令模式 => 末行模式 按冒号键
 - 末行模式 => 命令模式 输入末行命令之后回车键
 
在命令模式下高效按键
-  
各种插入模式
 
-  
a 在光标后插入
 -  
A 在当前行末尾插入
 -  
o 在当前行的下一行插入
 -  
O 在当前行的上一行插入
 
-  
简单移动光标
 
-  
0 数字零,到行首
 -  
^ 到本行第一个不是blank的字符(blank字符有空格、tab、换行、回车)
 -  
$ 到本行行尾
 -  
g_ 到本行最后一个不是blank的字符
 -  
/pattern 搜索 pattern 字符串,如果多个匹配,按n切换到下一个
 
-  
复制、粘贴
 
-  
p 当前位置后粘贴
 -  
P 当前位置前粘贴
 -  
yy 复制当前行
 -  
nyy n不是字母,而是数字,相当于要复制多少行,相样也有ndd,删除多少行
 -  
yw 将光标处开始到字结尾处的所有字符复制
 -  
nyw n不是字母,而是数字,将光标处开始的n个字复制
 
-  
删除
 
-  
h,j,k,l 对应光标左、下、上、右移动
 -  
x 一次删除当前光标处的一个字符
 -  
n x 一次删除当前光标处开始的n个字符
 -  
X 一次删除当前光标前面的一个字符
 -  
n X 一次删除当前光标前面的n个字符
 -  
dd 一次删除一行字符
 -  
n dd 一次删除n行字符
 
-  
撤销和恢复
 
- u 撤销最近一次的操作
 - ctrl+r 恢复最近一次的撤销操作
 
-  
页数操作
 
- ctrl+b 往回移动一页
 - ctrl+f 向前移动一页
 - ctrl+u 往回移动半页
 - ctrl+d 向前移动半页
 
- 光标快速移动
 
-  
nG 到第n行,注意G是大写,也可以在 command 模式输入 :n ,到第n行
 -  
gg 到第一行,相当于1G
 -  
G 到最后一行
 -  
w/W 到下一单词的开头,大小写均可,但w认为是单词是字母数字下划线组成,其它字符均为分隔符;W只认为blank字符(空格,tab)为分隔符
 -  
e/E 到下一单词的结尾,说明同上
 -  
% 匹配括号移动,包话 (,{,[
 -  
* 和 # 匹配光标当前所在的单词,移动光标到下一个匹配单词是 * , 上一个是 #
 -  
r/R 替换一个字符/全局替换模式
 
在末行模式下的高效按键
- :wq 保存退出
 - :q! 放弃最后一次保存之后做的修改并退出
 - :q (最后一次保存之后,没有对文档进行任何修改)退出
 - :z 将缓冲区内容写入文件,不退出
 - :x 保存退出
 - :set number 或者 :set nu 显示行号
 - :set nonumber 或者 :set nonu 不显示行号
 - :n 表示将光标移动到第n行的行首
 - :! 不退出vi,执行shell命令
 - 替换命令 【这里详细讲解一下】
 
格式 :
: [范围] s /string1/string2 /[c e g i] 【注】如果省略范围,默认从当前光标处开始
选项:
c 每次替换之前,询问师范替换? y确认 n拒绝 a确认全部 q返回 默认全部替换
g 所有符合的部分,都做替换 没有g,只对每行第一次出现的符合的部分进行替换
e:不显示errors
i:不区分大小写
示例:
:1,7 s /deep/abcd/g 【注】表示从1行到7行中所有deep替换成abcd
插入模式
- 插入模式下直接输入即可
 















