1.简介
vi是visual interface的简称,是Linux基本的文本编辑工具,相当于windows系统中的txt编辑器。可以执行输出、删除、查找、替换、块操作等众多文本的操作,用户还可以根据自己的需求进行定制。
vim 是vi improvement的缩写,属于增强版的vi,vi基础的功能只上增加了很多功能,比如说关键字的加亮等。同时,vim兼有vi的所有指令。
2.基础使用
vi启动:
vi fileName
如果文件存在,打开编辑
如果文件不存在,则在第一次保存时创建新文件
vi的三种模式
命令模式:可以移动光标、删除、修改、复制、搜索(默认进入方式)
修改(Change) 删除(Delete) 复制(Yank)
line(整行) cc dd yy
letter(字母) cl dl yl
word(单词) cw dw yw
粘贴: p
撤销最近一次操作:u(undo) ;ctrl-r取消最后一次撤销(redo);U=撤销所有修改
插入模式:可以通过aio进入,修改文件内容
扩展模式:通过"esc" +":" 进入。执行的操作有退出、保存、保存并退出、不保存退出、查找替换
移动光标:
hjkl -- >>>左下上右,相当于方向键
w=下一个字符,b=上一个字符
(=上一个句子,)=下一个句子,{上一个段落,}=下一个段落
3.进阶使用(高级使用)
文件内定位
G---文件最后一行
1G---文件第一行
ctrl+d---向下滚动半屏
ctrl+u---向上滚动半屏
屏幕定位
H,跳转到本屏幕显示的第一行
M,跳转到本屏幕显示的中间一行
L,跳转到本屏幕显示的最后一行
z+Enter,使当前行显示为屏幕第一行
z-,使当前行显示为屏幕的最后一行
查找和批量替换
通过sed进行查找
默认对当前行进行查找
1,n--从第一行到第n行
1,$--整个文档进行查找替换
例如:
:s/需要替换字符/替换后字符/g(整行替换)
:1,10s//需要替换字符/替换后字符/g(整行替换)----第一行到第十行替换
:1,$s/需要替换字符/替换后字符/g(整行替换)----整个文档进行查找替换
读取和保存
:r fileName,将另一个文件名称为fileName的文件读取加入到当前文件光标之后
:1,20 w fileName,将当前文件的第1至第20行写入到一个命名为fileName的新文件中
:1,$ w >> fileName,将当前文件的所有内容追加到一个命名为fileName的文件中