Linux #文件编辑
笔者在协助不同的客户处理Linux平台问题的过程中发现:大多数IT运维人员对vi的掌握程度非常浅。仅限于打开文件后,用 i 进入编辑模式,只用用方向键定位,修改个别字符后再 :wq 保存退出。
如果使用Linux命令行编辑的频率少的话,这些最基本的掌握了也勉强够用。但如果使用频率高,应该再掌握一些“效率工具”,也不用太多,但可以思考一下自己的使用场景,比如下面的命令对我们查看日志和配置文件可能就很有用。
vi 效率命令扩展
移动类
w 、 b 以单词(用空格键区分)为单位前进或者后退
0 、 $ 分别快速定位到行首、和行尾
gg 、 G 分别快速定位到首行首字符、和尾行首字符
H 、 M 、 L 分别快速定位到当前屏幕的首行( Head )、中间( Middle )、尾行( Last )
查找类
/ 表示向下查找一个关键字
?表示向上查找一个关键字
查找结果高亮显示,有多个结果的,用 n 定位到下一个结果( next ),用 N 定位到上一个结果
编辑类
• 替换 r 替换一个字符; R 替换多个字符,直到按 Esc 退出替换指令
• 复制粘贴
yy 复制当前行的内容(到剪贴板), p 粘贴到光标所在行 3yy 表示复制以当前行开始的三行内容
• 删除
dd 删除当前行, 3dd 删除以当前行开始的三行内容
x 删除当前光标所在字符,向后删; X 删除光标当前所在位置前一个字符,向前删
• 插入
i 从光标当前位置插入 a 从光标后一个字符插入 o 在插入一个新行并开始编辑
A 移动到行尾并立即进入输入模式 C 删除光标所在位置到行尾的所有内容并立即进入输入模式
• 撤销
u 操作错误时用来撤销上一步操作 Ctrl + r 反撤销