1、VI 是所有linux 系统都提供的文本编辑器,它提供了一个窗口,通过它客园编辑文本文件
2、VIM是VI的增强版本支持VI全部的功能
增加命令
增强功能包括颜色标记功能
3、VI编辑创建文件
在linux 终端中,直接输入VI就可打开VI工具,这个时候默认的是命令模式
如果VI后面接具体的文件名,表示打开该文件进行查看和编辑
编辑一个已经存在的文件(看底部提示)
编辑一个不存在的文件(看底部提示)
4、VI操作模式
VI可分为三种操作模式,分别是
a、命令模式(command mode)
b、插入模式(insert mode)
c、底线模式(Last line mode)
三种工作状态,完成不同的任务
a、命令模式:
1) 刚进入时的缺省状态
此时不可直接去添加文字
不能用backspace删除文字
2)控制平面光标的移动
3)字符的删除、复制、粘贴
4)进入插入模式
5)进入底线模式
命令模式功能——光标移动
按G:移动到文件的最后
按gg:移动到文件的开头
按0或^:光标移动到所在行的行首
按$ :光标移动到所在的行的行尾
光标的上下左右移动:
1、使用键盘上的方向键
2、或者KJHL对应上下左右
按ctrl+f 往下翻一页
按ctrl+b 往上翻一页
命令模式功能——删除、复制
x:删除
x与X(del 与 backspace)
3x 表示删除光标所在位置后的3个字符,包括光标所在的位置
如果不小心先按了数字键,按ESC取消
dw:删除光标所在处到词尾的内容
dd:删除光标所在的行,3dd表示删除光标所在位置往下的3行,包括光标所在的行
yw:复制光标所在处到词尾的内容
yy:复制光标所在的行
p:粘贴(包括前面复制操作或者删除操作的内容)
命令模式功能——替换、撤销
r:取代光标所在处的字符
R:连续取代字符知道按ESC为止
u:假如误操作一个指令,可以马上按u,进行撤销,可以连续按u,撤销多个之前做过的操作(等于windows下面ctrl+z)
ctrl+r:重做被撤销的操作(等于windows下面crtl+y)
b、插入模式
1)在插入模式下面可以对文件内容进行编辑
2)插入模式下底部有个 --insert 标记
3)在命令模式下,可以输入下面的字符进入插入模式
i:插入,从目前光标所在之处插入所输入的字符
a:增加,目前光标所在的下一个字符处开始插入字符
o: 插入新的一行,从行首开始输入文字
4)插入模式下,按ESC键,切换到命令模式
插入模式功能——输入内容
注意:
上下左右键也可以导航
退格键(backspace)可以删除字符
c、底线模式
1)先按ESC键进入命令模式后,再输入冒号:进入底线模式
2)在底线模式下,可以完成对文件的保存、内容替换、显示格式的设置等工作
底线模式功能——查找、定位
在命令模式下面输入冒号进入底线模式
set nu: 会在文件的每一行前面列出行号
set nonu
#: #是你要输入的数字,再按回车,将跳到数字指定的行
/关键字:先按/,再输入你要寻找的字,
可以输入n,进行向下连续查找
N是往上查找
set ic:忽略大小写
set noic:不忽略大小写
底线模式功能——字符替换
在底部模式下输入“1,$s/string/replace/g”会将全文的string 字符串取代为replace字符串
或者%s/string/replace/g
1,$表示从第一行到最后一行
s表示替换
g表示每行全部替换
1,20s/string/replace/g: 将1至20行间的string替代为 replace字符串
# w filename:如果想要摘取文字的某一段,存成另一个文件,可用这个指令#代表行号,例如20,50 w nice
底线模式功能——保存、退出
:w filename (将文件保存为filename)
:wq (保存文件并且退出vi)
:q!(强制退出vi并不保存当前更改的内容)
:w!(强制写文件,如果改文件属性为只读,那么也强制更改该文件,并退出)
:f 查看当前文件信息
:edit 在vi里面打开另一个文件