系统编辑工具 VI及升级版VIM介绍及使用技巧
运维过程中我们经常会编辑或者查看配置文件,那么VI或者VIM是运维人员必须掌握的编辑工具。
vi(vim – Vi IMproved, a programmers text editor):编辑文本信息
语法格式:vi + 文件名
1、vi或vim的三种模式:
- 命令模式:可以进行一些快捷操作(进入文件后的默认模式)
- 编辑模式:可以编辑内容(显示“INSERT”)
- 底行模式:可以完成特殊的命令操作
2、三种模式之间的转换:
命令模式 — i I a A o O s S C–> 编辑模式
小写字母i :光标当前位置直接进入编辑模式
大写字母I:光标移动到行首并进入编辑模式
小写字母a :将光标位置向后移动一位并进入编辑模式
大写字母A:将光标移动到行尾并进入编辑模式
小写字母o:将光标新起一行并进入到编辑模式(在当前行的下一行新起一行)
大写字母O:将光标新起一行并进入到编辑模式(在当前行的上一行新起一行)
小写字母s:删除光标所在位置内容并进入到编辑模式
大写字母S:删除光标所在行并进入到编辑模式
大写字母C:删除光标所在位置之后内容并进入到编辑模式
编辑模式– ESC–>命令模式
命令模式 — :(冒号)或者 / (左斜线)或者 ?(问号) –> 底行模式
:后面可以输入命令
/ 表示可以 进入信息检索模式 n由上到下进行检索,N由下到上进行检索
?表示可以 进入信息检索模式 N由上到下进行检索,n由下到上进行检索
底行模式– ESC–>命令模式
编辑模式 — ESC –> 命令模式 — :–>底行模式
底行模式 — ESC –> 命令模式 — i –>编辑模式
总结一下编辑文件内容vi/vim的基本用法:
命令模式–> i –>编辑模式(开始编辑)–>ESC–>命令模式 –> : wq 保存并退出或者q不保存退出–>命令行
3、命令模式的操作技巧:
1)快速移动光标:
h/j/k/l:左/下/上/右
G:将光标移动到最后一行
gg:将光标移动到第一行
行号G/行号gg:将光标移动到指定行
$(shift+4):将光标移动到行尾
^(shift+6):将光标移动到行首
2)快速编辑文件:
yy:复制光标所在行内容
nyy:复制光标所在行以及以下n行内容
dd:删除(剪切)光标所在行内容
ndd:删除(剪切)光标所在行以及以下n行内容
p:粘贴复制或者剪切的内容
np:将复制或剪切的内容粘贴n份
u:撤销编辑的操作内容
ctrl+r:恢复撤销操作内容
r:将光标所在位置内容做替换
R:进入替换模式
4、底行模式操作方法
- :set nu:显示文件行号
- :set nonu:取消文件行号显示
- :set list:显示文件每行结尾的空格信息
- :set hlsearch: 高亮显示搜索内容
- :set nohlsearch:取消高亮显示搜索内容
- /字符串:查找内容
- :s#被替换字符串#替换后的字符串#:只替换光标所在行的第一个字符串
- :s#被替换字符串#替换后的字符串#g:只替换光标所在行内容
- :%s#被替换字符串#替换后的字符串#g:全部文本内容都做替换
- :n,ms#被替换字符串#替换后的字符串#g:从第n行开始到第m行结尾,将指定内容进行替换
- :w:保存修改
- :q:直接退出
- :wq:保存并退出
- :q! 强制退出而不保存
- :wq!:强制保存退出
说明:s代表替换功能,g代表全局替换,###代表替换信息和别替换信息的分隔符(也可以用/或者@等符号进行分割)
5、vi/vim使用中要注意的问题
1)编辑文件时,要注意被编辑文件的路径是否存在,应该先创建路径再创建文件
2)不能对目录进行编辑
3)编辑出现异常时,数据恢复方法:vi -r 文件名
6、vim高级用法
1):!后面加上命令可以临时执行系统命令
2):r 可以引入其他命令的执行结果
3):o/O可以同时显示两个文件
4):splist分割屏幕显示两个文件
7、Vim批量调整文件多行信息的技巧:
删除信息:
将光标移动到指定行—> ctrl+v 进入试图模式—> 上下移动光标选中多行——> d 可以将选中内容删除
添加信息:
将光标移动到指定行——> ctrl+v ——>上下移动光标选中多行 ——> shift + i ——>编辑内容——> ESC 可对多行同时编辑