1、VI的三种模式
- 命令行模式
用户在用vi编辑文件时,最初进入的为该模式,可以进行复制、粘贴等操作 - 插入模式
进行文件编辑,按ESC键可以回到命令模式 - 底行模式
光标位于屏幕的底行。可以进行文件的保存、退出、查找、替换、列出行号等操作
2、VI模式切换命令
A a
(append)进入编辑状态,从当前光标的位置开始插入键盘输入的字符,注:A是跳到行尾插入I i
(Insert)进行编辑状态,从当前光标之后的位置开始插入键盘的内容,注:I是跳到行首插入- O o
(Open)进入编辑状态,并插入一新行,光标移动到该行的行首,以后键盘输入的字符将插入到光标的位置,注:O是在光标上面插入一新行 - ESC
进入命令状态 - :! Command
在vi中执行外部命令Command,按回车键可以返回vi继续巩工作
例如::!pwd 查看当前编辑文件的目录
3、vi拷贝与粘贴命令
- [n]x
(Expurgate)删除从光标位置开始的连续n个字符(并复制到编辑缓冲区) - [n]dd
(Delete)删除从光标位置开始的连续n行(并复制到编辑缓冲区) - [n]yy
(Yank)复制从光标位置开始的连续N行到编辑缓冲区 - p或P
(Put)从编辑缓冲区复制文本到当前光标位置(即粘贴) - u
(Undo)取消上一次操作(即恢复功能)
4、vi保存和退出命令
- :q
(Quit)退出没有修改的文件(若文件被修改了而没有保存,则此命令无效) - :q!
强制退出,且不保存修改过的部分 - :w
(Write)保存文件,但不退出 - :w File
另存为File给出的文件名,不退出 - :x
(Exit)保存文件并退出 - :r File
(Read)读入File指定的文件内容插入到光标位置
5、vi光标命令
- :n
移动光标到第n行 - 1G
移动光标到文件的第一行 - G
移动光标到最后一行 - :set number
显示行号 - :set nonumber
取消显示行号
6、vi的查找命令
/string 查找字符串
- n 继续查找
- N 反向继续查找
- 支持正则表达式比如:/^the /end$
7、vi替换命令
利用:s 命令可以实现字符串的替换。
- :s/str1/str2/
- :s/str1/str2/g
- :.,$ s/str1/str2/g
g全部替换(默认换第1个) - :1,$s/str1/str2/g
- :%s/str1/str2/g
8、vi复制和剪切命令
- y0
将光标至行首的字符拷入剪贴板 - y$
将光标至行尾的字符拷入剪贴板 - d0
将光标至行首的字符剪切入剪贴板 - d$
将光标至行尾的字符剪切入剪贴板 - range y
块复制 range d-块剪切 - range copy destline
复制range范围的行道指定行