文本处理(vi编辑器工具)
- 确认该 工具已经被安装:(centos 默认已安装该软件,安装包名为:vim-minimal-7.4.160-5.el7.x86_64)
使用rpm命令,查询系统中已安装了哪些安装包: [root@localhost ~]# rpm -qa | grep "vim"
- 如何使用vim工具: ==== vi | vim (centos 7 默认不支持vim命令)
使用vi新建文件,默认打开该文件:vi 文件名 :
查看该文件的内容,前提:该文件已存在: vi 文件名 ;
- 使用vi工具,完成相关的任务场景(vi模式 + vi命令)
1) 模式之间的切换:模式1——>esc键——>模式2
2) 默认情况,使用vi打开文件,进入到:命令模式
3) 命令模式:在该模式下,输入一些命令,完成相关的事情
输入ZZ:保存文本内容
行间跳转:G | [行号]gg
快速跳转到末尾行:G
快速跳转到首行:1G | 1 gg
快速跳转到第x行: xG | xgg
行内跳转:^ ( 行首) | $(行尾) | h 向左移 | j 向下移 | k 向上移 | l 向右移
复制粘贴:yy--> p
复制整行(单行): yy ——> 粘贴的位置——>p
复制整行(多行):n yy ——> 粘贴的位置——>p
复制某个字符: yl
复制当前光标到行尾的内容:y$
删除:dd
删除整行(单行):dd
删除整行(多行):ndd
删除单个字符:x | X
撤销:u
4) 从命令模式进入到编辑模式(插入模式:insert):在该模式,编辑内容
输入i:在当前光标所在位置:插入
输入I:在行首:插入
输入a:在当前光标下1位:插入
输入A:在行尾:插入
输入o:在下1行行首:插入
输入O: 在上1行行首:插入
5) 从命令模式输入“:”进入到末行模式(底线模式通过:标识),主要是完成保存文档、内容查找替换等工作
输入 wq: 保存文本内容 并退出 vi
输入w:保存文本内容 ,不退出vi
输入q!: 不保存文本内容 ,强制退出vi
输入 / 查找的内容: 在文本中查找内容(从当前光标处:往下找) == /5
输入 ?查找的内容: 在文本中查找内容(从当前光标处:往上找) == ?5
输入 s/old/new:查找并替换内容: 把文本中old内容替换为new内容
只替换当前光标所在行的第1个old内容: === :s/4/A
替换当前光标所在行的所有old内容:===:s/4/A/g
替换全文本中的所有old内容:===:1,$s/4/A/g , %s/4/A/g ,
替换全文本中每1行找到的第1个old内容: ===:1,$s/4/A
替换第几行到几行间的所有old内容: ===:6,10s/4/A/g
设置行号的显示:set nu (临时生效) | 取消行号:set nonu
设置行号永久生效: [root@localhost ~]# vi /etc/virc ——> 末行添加: set nu ——>保存退出
6) 从命令模式进入到 VISUAL可视模式: v | V 【-- VISUAL LINE -】 | ctrl+v 【-- VISUAL BLOCK --】,可视模式(-- VISUAL --):很少用;
- 应用实例:
1) 查找出包含non-keyword的行
:%g/non-keyword
2) 不区分大小写查找包含non-keyword的行
:set noic
:/ Non-Keyword
3) 查找出文本中的注释行(以#开头的行)
:%g/^#
4) 查找出文本中的非空行内容
不会
5) 查找出以T开头的内容
:%g/\<T
6) 查找出以ed结尾的内容
:%g/ed\>
4:替换文本中的内容:
1) 全文替换:print 为 Print
:1,$s/print/Print/g
2) 替换第2行的:s为S
:2s/s/S/g