深入探索vi编辑器:从入门到精通
在Linux系统的世界里,vi编辑器犹如一位低调却强大的“幕后英雄”。它历史悠久,功能丰富,是系统管理员和开发者不可或缺的工具。今天,就让我们一同走进vi编辑器的世界,揭开它神秘的面纱。
一、vi编辑器简介
vi(Visual Interface的缩写)编辑器诞生于20世纪70年代,无论是服务器还是嵌入式设备。其简洁高效的设计理念,让用户通过键盘就能完成复杂的文本编辑操作,无需依赖鼠标,这在一些没有图形界面的服务器环境中显得尤为重要。
二、vi编辑器的工作模式
vi编辑器有三种主要工作模式:命令模式、插入模式和末行模式 ,理解这三种模式是掌握vi编辑器的关键。
1. 命令模式:这是vi编辑器启动后的默认模式。在该模式下,用户输入的任何字符都被视为命令。例如:
文件内跳转
- G 最后一行
- gg 第一行
- 10 G 跳转到第10行 数字G跳到数字行
行间跳转(一行的开头 一行的结尾)
- 0 跳到一行的开头
- ^ 跳到一行的开头
- end 跳到一行的结尾
- $ 跳到一行的结尾
词间跳转
- w 下一个单词的开头
- e 下一个单词的结尾
单个字符处理
- x 删除当前光标处的字符
- ~ 大小写切换
剪切
- d 删除当前光标所在行
- 10 dd 删除当前 光标所在行开始的10行
粘贴
- yy 复制当前光标所在行
- 10yy 复制当前 光标所在行开始的10行
其他操作
- p 在光标行的下一行贴
- u 撤销一次
- U 全撤
- ctrl +r 重做
命令模式下可以快速对文本进行各种操作,熟练掌握这些命令能大大提高编辑效率。
2. 插入模式:当需要输入文本内容时,需从命令模式切换到插入模式。在命令模式下按i(在光标前插入)、a(在光标后追加)、o(在当前行下方新建一行并进入插入模式)等按键即可进入插入模式。此时,输入的内容会直接显示在文本中,就像在普通文本编辑器中一样。完成输入后,按Esc键可返回命令模式。
3. 末行模式:用于执行一些特殊命令,如保存文件、退出编辑器、查找和替换文本等。在命令模式下,按:键即可进入末行模式,此时光标会移动到屏幕底部,等待用户输入命令。
例如:
- w 保存
- q 退出
- q! 强制退出
- set nu 显示 行号
- set onnu 不显示 行号
三、其它命令及操作
末行模式中的查找替换
通式: s/// s@@@ s###
s / 你要找的内容/你要替换的内容/修饰符
- % s/root/admin/g ##全文找root改成admin 所有的root
- % s/root/admin/ ##全文找root改成admin 只改每行的第一个
- % s/^/#给所有的开头加上#号
- % s/^#// 删除所有行开头的#号
范围:
不写范围 或写. 只处理当前光标所在行
- % 全文
- 20,10 10到20行
- 10 第10行
- $ 最后一行
- $-1 倒数第二行
- s 固定命令 search
你要找的内容: 可以不确定 用正则表达式来表示
你要替换的内容:一定是确定的,不可以使用通式来表示
修饰符:'
- g:一行上全部都发
- c:每次询问是否替换
- i:忽略大小写