Linux运维——Vim编辑器
Vim编辑器
Vim重点:光标的移动、模式切换、删除、查找、替换、复制、粘贴、撤销命令的使用
一、Vim三种模式(重点)
Vim中存在三种模式(大众的认知):命令模式、编辑模式(输入模式)、末行模式(尾行模式)
命令模式: 在该模式下是不能对文件直接编辑,可以输入快捷键进行一些操作(删除行,复制行,移动光标,粘贴等等) ———— 打开文件之后默认进入的模式
编辑模式: 在该模式下可以对文件的内容进行编辑
末行模式:可以在末行输入命令对文件进行操作(搜索、替换、保存、退出、撤销、高亮)
Vim的打开文件的方式(4种,要求掌握的就前三种)
#vim 文件路径 作用:打开指定的文件
#vim +数字 文件的路径 作用:打开指定的文件,并且将光标移动到指定行
#vim +/关键词 文件的路径 作用:打开指定的文件,并且高亮显示关键词
#vim 文件路径1 文件路径2 文件路径3 作用:同时打开多个文件
重点:先复制出一个/etc/passwd文件,复制当前家目录下 (不要直接在etc/passwd直接改,养成一个良好的运维习惯)后续一切vim命令都基于 /root/passwd文件进行操作
#cd /root/
#vim passwd
#vim +10 passwd
#vim +/login passwd
退出方式 : 冒号+q
二、命令模式
注意:改模式打开文件的第一个看到的模式(打开文件即可进入)
1、光标移动
①光标移动到行首 或 ^ 按键:shift + 6 (T字母上面的6,不要按小键盘的6)
②光标移动到行尾 或 $ 按键:shift + 4 (R字母上面的4)
③光标移动到首行 按键:gg
④光标移动到末行 按键:G (shift+G)
⑤翻屏
向上翻屏:按键 ctrl + b (back) 或 PgUp
2、复制操作
①复制光标所在行 按键:yy
粘贴:在想要复制的地方按下 P 键
②以光标所在行为准(包含当前行),向下复制指定的行数 按键:数字yy
③可视化复制 按键:ctrl + v 然后通过 方向键 选中之后,按下yy
3、剪切/删除
①剪切/删除光标所在行 按键:dd
注意:dd严格意义上说是剪切命令,但是如果剪切了不粘贴就是删除的效果
②剪切/删除光标所在行为准(包含当前行),向下删除/剪切指定的行
按键:数字dd
③剪切/删除光标所在的当前行,但是删除后下一行不上移动(删除之后当前行会变空白行 )
按键:D
4、撤销/恢复
撤销:u 输入 冒号+u(但这个不属于命令模式) undo
恢复:ctrl + r 恢复(取消)之前的撤销操作
5、扩展1:光标的快速移动
①快速将光标移动到指定的行 按键:数字G
②以当前光标为准 向上下 移动n行 按键:数字 ↑,数字 ↓
③以当前光标为准 向左/向右 移动n字符 按键:数字←,数字→
④末行模式 —— 按键:冒号+数字
三、模式切换示意图
四、末行模式
进入方式:由命令模式进入,按下 “ :” 即可进入 还有 / (搜索)
退出方式:
a.按下esc
b.连按2次esc键
c.删除末行全部输入字符
①保存操作
输入:“ :w ” 保存文件
输入:“ :w 路径 ” 另存为
②退出
输入:“ :q ”
③保存并退出
输入:“ :w q”
④强制( !)
输入:“ :q !” 表示强制退出,刚才做的修改操作不做保存
⑤调用外部命令
输入: “ :!外部命令 ”
⑥搜索/查找
输入:“/关键词”
在搜索结果中切换 上/下结果 : N / n
如果需要取消高亮,则需要输入 :nohl (no highlight)
⑦替换
:s / 搜索的关键词 / 新的内容 替换光标所在行的第一处符合条件的内容
:s / 搜索的关键词 / 新的内容 / g 替换光标所在行的全部符合条件的内容
:%s / 搜索的关键词 / 新的内容 替换整个文档中每行第一个符合条件的内容
:%s / 搜索的关键词 / 新的内容 / g 替换整个文档的符合条件的内容
%表示整个文件 g表示全局(global)
⑧显示行号
输入: “:set nu”
如果想取消显示,则输入 “:set nonu”
⑨扩展2: 使用vim同时打开多个文件,在末行模式下进行切换文件
查看当前以及打开的文件名称: “ :files ”
第35行是表示当前 光标停留的位置
在%a参数的位置有2种显示可能:
%a :a = active,表示当前正在打开的文件
#:表示上一个打开的文件
切换文件的方式:
a.如果需要制定切换文件的名称,输入 : “:open 已经打开的文件名 ”
:oepn group
b.可以通过其他命令来切换上一个文件 / 下一个文件
输入 : “:bp ” 切换到上一个文件(back previous)
输入 : “:bn ” 切换到下一个文件(back next)
五、编辑模式