3种模式
命令模式:默认
输入(插入insert)模式:(i)
末行模式:(????
可视模式:v
可视块模式:Ctrl q 列操作
退出操作
| 动作 | 快捷健 | 
| 打开文件 | :e d:\t.txt | 
| 不保存退出 | :q! | 
| 保存退出 | :wq | 
| 保存创建到test.v文件 | :w test.v | 
| 保存行号之间内容 | :#,# w TEST | 
| 向当前文件中插入另外的文件的内容 | :r FILENAME | 
| 在光标的下方打开新的一行并进入插入模式 | o 小写 | 
| 在光标 上方 打开新的一行 | O 大写 | 
| 在光标 上方 打开新的一行 | Shift-O | 
- :!command 用于执行一个外部命令 command。
 请看一些实际例子∶
 :!dir - 用于显示当前目录的内容。
 :!rm FILENAME - 用于删除名为 FILENAME 的文件。
- :w FILENAME 可将当前 VIM 中正在编辑的文件保存到名为 FILENAME 的文
 件中。
- :#,#w FILENAME 可将当前编辑文件第 # 行至第 # 行的内容保存到文件
 FILENAME 中。
- :r FILENAME 可提取磁盘文件 FILENAME 并将其插入到当前文件的光标位置
 后面。
列操作
| 动作 | 快捷健 | 
| 选中列替换插入 | 鼠标选择列块,然后按【Ctrl+q】,进入列操作模式操作后,直接输入需要插入的内容,然后按ESC键退出。会将选中的列替换。 | 
| 选中列之前插入 | 【Ctrl+q】,进入列操作模式,使用h,j,k,l等键选中需要操作的列块,按I(大写)键,光标跳到选中的列块前,输入插入的内容,按ESC键即可, | 
| 选中列之后插入 | 【Ctrl+q】,进入列操作模式,使用h,j,k,l等键选中需要操作的列块,按A(大写)键,输入插入的内容,按ESC键即可, | 
| 选中列删除 | 【Ctrl+q】,选中,delete键 | 
选中字符复制/剪切/粘贴
v命令,进入visual模式,v+ j/k/h/l 进行文本选中
对于选中的文本进行如下按键:
(1.1)d ------ 剪切操作
(1.2)y -------复制操作
(1.3)p -------粘贴操作
(1.4)^ --------选中当前行,光标位置到行首(或者使用键盘的HOME键)
(1.5)$ --------选中当前行,光标位置到行尾(或者使用键盘的END键)
删除操作
删除命令 d 的格式如下∶
[number]   d          object     或者     
d          [number]   object
其意如下∶
   number - 代表执行命令的次数(可选项,缺省设置为 1 )。
   d - 代表删除。
   object - 代表命令所要操作的对象(下面有相关介绍)。
   一个简短的对象列表∶
   w - 从当前光标当前位置直到单字/单词末尾,包括空格。
   e - 从当前光标当前位置直到单字/单词末尾,但是 *不* 包括空格。
   $ - 从当前光标当前位置直到当前行末。| 动作 | 快捷健 | 
| 删除当前字符 | x或delete | 
| 从光标处删除至一个单字/单词的末尾 | dw | 
| 当前光标删除到行末 | d$ | 
| 整当前行删除 | dd | 
| 整当前行+下一行删除 | 2dd | 
| 从当前行删除到文档最后一行 | dG | 
复制粘贴
| 动作 | 快捷健 | 
| 复制 | 2yy yy | 
| 粘贴到下一行 | p 小写 | 
| 粘贴到上一行 | P 大写 | 
| 行首 | ^ | 
| 行尾 | $ | 
| 看粘贴板内容 | :reg | 
| 将若干行复制到粘贴板x | :粘贴板"* 行数 yy "*12yy "*是系统粘贴板,默认是"1 | 
撤销
| 动作 | 快捷健 | 
| 撤消最后执行的命令 | u | 
| 恢复到该行的原始状态 | U | 
| 撤销撤销 | ctrl r | 
| 恢复上次操作 | ctrl y | 
插入和替换
参数与d命令一致
[number]   c          object     或者     
c          [number]   object| 动作 | 快捷健 | 
| 光标之后插入文本 | a | 
| 直接行尾部之后插入文本 | A | 
| 光标移动到行末尾 | $ | 
| 将最后一次删除的内容置入光标之后 | p | 
| 输入 r 和一个字符替换光标所在位置的字符。 | r | 
| 输入大写的 R 可连续替换多个字符 | R | 
| 要改变一个单字/单词的部分或者全部,会删除光标之后的单词部分 | cw | 
| 只替换光标所在行的第一个匹配串。 | ????/old/new | 
| 只替换光标所在行的所有匹配串。 | ????/old/new/g | 
| 只替换设定行范围的所有匹配串。 | :#,#s/old/new/g (#,#代表的是两行的行号)。 | 
| 替换整个文件所有匹配串。 | :%s/old/new/g | 
跳转
| 动作 | 快捷健 | 
| 跳到文件首 | gg | 
| 跳到文件尾部 | G | 
| 跳到10行 | :10 | 
| 显示当前编辑文件中当前光标所在行位置以及文件状态信息 | CTRL g | 
| 直接跳转到文件中的某一指定行 | 行号 shift g | 
| 跳转到文件最后一行 | shift g | 
查找
| 动作 | 快捷健 | 
| 查找字符串 n 上一个,shift n 下一个 | / 以及尾随的字符串 | 
| 查找字符串 n 上一个,shift n 下一个 | ? 字符串 向上查找 | 
| 查找配对括号 | 光标放括号上,按%跳到配对的位置,再按%返回 | 
| ic就是英文忽略大小写Ignore Case的首字母缩写词 | :set ic | 
外部命令调用shell
| 动作 | 快捷健 | 
| 执行外部的 shell 命令。 | :!dir | 
| 在线帮助命令 | :help | 










