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 反撤销