1.命令模式
可用方向键在文本区域中移动光标
也可用字母 h(左)、j(下)、k(上)、l(右) 移动光标
用于大文本文件、提高移动速度的命令:
| 命令 | 描述 | 
|---|---|
| PageDown / Ctrl+F | 下翻一屏 | 
| PageUp / Ctrl+B | 上翻一屏 | 
| G | 移到缓冲区的最后一屏 | 
| num G | 移到缓冲区的第num行 | 
| gg | 移到缓冲区的第一行 | 
其他常用命令:
| 命令 | 描述 | 
|---|---|
| x | 删除光标当前所在位置的字符 | 
| dd | 删除光标当前所在行 | 
| dw | 删除光标当前所在位置的单词 | 
| d$ | 删除光标当前所在位置至行尾的内容 | 
| J | 删除光标当前所在行结尾的换行符(合并行) | 
| u | 撤销上一个编辑命令 | 
| a | 在光标当前位置后追加数据 | 
| A | 在光标当前所在行结尾追加数据 | 
| r char | 用char替换光标当前所在位置的单个字符 | 
| R text | 用text覆盖光标当前所在位置的内容,直到按下ESC键 | 
有些编辑命令允许使用数字修饰符来指定重复该命令多少次
如: 命令2x会从光标当前位置开始删除两个字符 命令5dd会删除从当前光标当前所在行开始的5行
注意:vim编辑器将退格键视为将光标后移一个位置,将delete键视作x命令(删除光标当前所在位置的字符)
2.插入模式
按i进入插入模式,按Esc键回到命令模式
3.Ex模式
在命令模式下按冒号键(:) 进入Ex模式,等待命令输入
q 如果未修改缓冲区数据,则退出
q! 放弃对缓冲区数据的所有修改并退出
w filename 将文件另存为其他名称
wq 将缓冲区数据保存到文件中并提出
…
4.复制和粘贴
剪切
当vim删除内容时,数据会被保存在一个单独区域内(寄存器)
可以用p命令取回删除的数据
用法:
- 用x. dd等等命令删除想要剪切的文本
 - 把光标移到缓冲区中要放置该文本的位置
 - 使用p命令
 
复制
vim的复制命令为y
可使用 yw 复制一个单词,使用 y$ 表示复制到行尾 2yy 表示复制两行,…
复制完后将光标移动到想要放置文本的位置,输入p命令,即可完成粘贴
注意:复制操作不会影响到复制文本,因此无法确定到底复制了什么,因此推荐使用可视模式 按’v’键进入可视模式,高亮显示复制区域文本
5.查找和替换
查找
可使用vim的搜索命令查找缓冲器的数据
先输入正斜线(/),再输入要查找的文本
若要继续查找同一个单词,按/键,再按Enter键或n键,查找下一个
替换
在命令行模式下
替换命令的格式为
:s/old/new
| 命令 | 描述 | 
|---|---|
| :s/old/new/g: | 替换当前行内所有出现的old为new | 
| :n,ms/old/new/g: | 替换第n行和第m行间出现过的所有old | 
| :%s/old/new/g: | 替换整个文件中所有出现的old | 
| :%s/old/new/gc: | 替换整个文件中所有出现的old,并在每次替换时提示 | 
