一、介绍
VI是Unix操作系统和类Unix操作系统中最通用的文本编辑器。VIM编辑器是从VI发展出来的一个性能更强大的文本编辑器。 可以主动的以字体颜色辨别语法的正确性,方便程序设计。VIM与VI编辑器完全兼容。
vim编辑的三种模式:一般模式、编辑模式、指令模式。
2) 三种模式间的切换:从一般模式按“:”键可以进入指令模式,而如果按a,i,o等键可以进入编辑模式,在编辑模式和指令模式均可按ESC键返回一般模式。
二、一般模式
以vi打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用【上下左右】按键来移动光标,你可以使用【删除字符】或【删除整行】来处理档案内容, 也可以使用【复制、贴上】来处理你的文件数据。
指令模式中基本操作 | ||
操作类型 | 操作键 | 功能 |
光标移动 | h, j, k,l | 左、下、上、右 |
翻页 | Page Down或Ctrl+F | 向下翻动一整页内容 |
Page Up或Ctrl+B | 向上翻动一整页内容 | |
行内快速跳转 | Home键或“^”、数字“0” | 跳转至行首 |
End键或“$”键 | 跳转到行尾 | |
行间快速跳转 | 1G或者gg | 跳转到文件的首行 |
G | 跳转到文件的末尾行 | |
#G | 跳转到文件中的第#行 | |
行号显示 | :set nu | 在编辑器中显示行号 |
:set nonu | 取消编辑器中的行号显示 | |
删除 | x或Del | 删除光标处的单个字符 |
dd | 删除当前光标所在行 | |
#dd | 删除从光标处开始的#行内容 | |
d^ | 删除当前光标之前到行首的所有字符 | |
d$ | 删除当前光标处到行尾的所有字符 | |
复制 | yy | 复制当前行整行的内容到剪贴板 |
#yy | 复制从光标处开始的#行内容 | |
粘贴 | p | 将缓冲区中的内容粘贴到光标位置处之后 |
P | 粘贴到光标位置处之前 | |
查找 | /word | 从上而下在文件中查找字符串“word” |
?word | 从下而上在文件中查找字符串“word” | |
n | 定位下一个匹配的被查找字符串 | |
N | 定位上一个匹配的被查找字符串 | |
撤销 | u | 按一次取消最近的一次操作 多次重复按u键,恢复已进行的多步操作 |
U | 用于取消对当前行所做的所有编辑 | |
保存文件 | ZZ | 保存当前的文件内容并退出vi编辑器 |
二、编辑模式
在一般模式中可以进行删除、复制、粘贴等的动作,但是无法编辑文件内容。要等到你按下【i, I, o, O, a, A】等任何一个字母之后才会进入编辑模式。
注意:通常在Linux中,按下这些按键时,在画面的左下方会出现【INSERT或 REPLACE】的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下【Esc】这个按键即可退出编辑模式。
1、进入编辑模式
a: 在当前光标位置之后插入内容
A:在光标所在行的末尾插入内容
i:在当前光标位置之前插入内容
I:在光标所在行的开头插入内容
o:在光标所在行的后面插入一个新行
O:在光标所在行的前面插入一个新行
2、退出编辑模式
按【ESC】键
三、命令模式
在一般模式当中,输入『【: / ?】3个中的任何一个按钮,就可以将光标移动到最底下那一行。在这个模式当中, 可以提供你【搜寻资料】的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号等动作是在此模式中达成的。
命令模式中基本操作
操作类型 | 操作键 | 功能 |
保存文件 | :w | 保存文件 |
:w new-file-name | 另存文件 | |
:wq | 保存并退出vi | |
退出vi | :q | 未修改退出 |
:q! | 放弃对文件内容的修改,并退出vi | |
读取文件 | :r file-name | 读取文件内容,粘贴至光标所在位置 |
执行命令 | :! command | 执行shell命令 |
文件内容替换 | :s /old/new | 将当前行中查找到的第一个字符“old” 串替换为“new” |
:s /old/new/g | 将当前行中查找到的所有字符串“old” 替换为“new” | |
:#,# s/old/new/g | 在行号“#,#”范围内替换所有的字符串“old”为“new” | |
:% s/old/new/g | 在整个文件范围内替换所有的字符串“old”为“new” | |
:s /old/new/c | 在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认 |