基本介绍
vi编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下。由于不需要图形界面,vi是效率很高的文本编辑器。尽管在Linux上也有很多图形界面的编辑器可用,但vi在系统和服务器管理中的功能是那些图形编辑器所无法比拟的。
Vim是vi的加强版,比vi更容易使用。vi的命令几乎全部都可以在vim上使用。
工作模式
vi有3种基本工作模式:命令模式、编辑模式和尾行模式。
命令模式
- 默认模式,command mode
- 在此模式下可以控制屏幕光标的上下左右移动,可以对字符 行等进行操作
- 可以通过”:”切换到尾行模式或者通过 “a” “i” “s” “o”切换到编辑模式
编辑模式
- 也叫插入模式,insert mode
- 只有在该模式下,才可以做文字输入
- 可以通过”esc”切换到命令模式,也可以通过”:”切换到尾行模式
尾行模式
- 也叫底行模式,last line mode
- 在该模式下,可以对文件进行保存 退出等操作,也可以进行字符串查找替换 显示行号等操作
- 可以通过连续按两次”esc”或删除尾行字符切换到命令模式
常用操作
编辑模式
在命令模式通过a i s o四种方式切换到编辑模式
- a:光标后移一位
- i:光标在当前位置
- s:删除当前光标位置字符
- o:在光标所在行后新建行
尾行模式
- :q:退出vi编辑器,如果对文档进行了编辑修改操作,那么执行该命令时会有错误提示
- :q!:强制退出vi编辑器,如果对文档进行了编辑修改操作,通过此命令可以强制退出,修改不生效
- :w:保存文档,并继续停留在vi编辑器
- :wq:保存文档并退出vi编辑器
- :wq!:强制保存文档并退出vi编辑器
- :set number/nu:显示行号
- :set nonumber/nonu:取消显示行号
- :数字:比如:20,跳转到20行
- :/str/或:/str:在文档中查找str字符串,通过n切换下一个,N返回上一个
- :s/str1/str2:在改行使用str2替换第一个str1
- :s/str1/str2/g:将改行的所有str1替换为str2
- :%s/str1/str2/g:将文档中所有的str1替换为str2
命令模式
光标移动
- 字符级移动:上(k) 下(j) 左(h) 右(l)键
- 单词级:
- w:word 下一个单词首字母
- b:before 上个(本)单词首字母
- e:end 下一个(本)单词最后一个字母
- 行级
- 0:行首
- $:行尾
- 段落级(内容之间有空白行)
- {:上个(本)段落首部
- }:下个(本段落尾部)
- 屏幕级(不翻屏)
- H:屏幕首部
- L:屏幕尾部
- 文档级
- G:文档尾行
- 1G:文档首行
- nG:文档第n行
删除内容
- dd:删除当前行
- ndd:从当前行起删除n行
- x:删除当前光标所在的字符
- cw:从光标所在位置删除至单词词尾,并进入编辑模式
复制内容
- yy:复制当前行
- nyy:从当前行起复制n行
粘贴内容
-p:对复制或删除的内容进行粘贴
快捷操作
- r:对当前字符进行替换操作
- J:合并上下两行
- .:重复执行上条命令