打开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
插入模式
插入模式下直接输入即可
参考链接
发表评论