Linux中编辑文件需要使用vi命令,关于vi简单介绍如下:
1、vi有三种模式。光标模式,编辑模式,底行模式,
1.1光标模式中可以通过命令组合对文本进行复制行,删除行,显示行号等功能
光标模式下,光标所在行,
在底行输入:s/旧内容/新内容/g 表示在光标所在行 所有的旧内容将被新内容替换
该光标在A所在哪一行,我执行s/A/a/g 该行所有的A将被a替换
如果此时我再执行 s/b/c/g 由于该行只有a 没有b 所有b被c替换在这一行是无法执行 会被报错
此时提示找不到b
文本中存在b,只是在当前行找不到b,想要对b进行更换,需要使用命令%s/旧内容/新内容/g。
例如下图:
该文件中有三行P,并且此时光标在第一行,想要更换P,需要使用命令 %s/P/w/g
回车执行以后显示,所有P将被w替换
s/旧内容/新内容/g 表示将光标改行旧内容被新内容替换
%s/旧内容/新内容/g 不管光标在哪里,在全文内容中查找,旧内容被新内容替换
其中替换还有另外集中模式:
1,3 s/旧内容/新内容/g 1到3行旧内容被新内容替换
表示1到4行R被u替换,回车执行以后结果如下
5,$ s/旧内容/新内容/g 第5行开始到最后一行旧内容被新内容替换*****
表示从第五行开始到最后一行R将被t替换,回车执行以后结果如下
在执行过程过不想一行所有内容被替换,只想当前光标处内容被替换,使用
s/旧内容/新内容 命令即可例如上图当前光标字母是t,我们可以将t替换成z如图
在光标模式下有快捷方式,
例如:shift+:后输入数字 回车 可以直接将光标定位在对应行
shift+: set nu 可以显示行号
shift+: set list 显示空格
光标模式下 数字+yy 例如数字是3,表示复制光标所在行的三行内容,通过p进行粘贴到光标所在行下一行
光标模式下 数字+dd 例如数字是3 表示删除光标所在行的三行内容
光标模式 按G 不管光标在那一行,直接跳到最后一行
光标模式下 按 dG 表示删除从当前光标到最后一行
1.2编辑模式可以随意更改内容,进入编辑模式有a,i,o三种方式,其中i是在光标前进行插入,a是在光标后进行插入,o是在光标下一行进行插入,退出编辑模式按esc健即可
1.3底行模式是在编辑完对文本进行保存的,w保存,q退出,**!**表示强制,一般是wq!,表示强制退出并保存