普通模式(Normal Mode)
- 进入普通模式 Esc
- 进入命令模式 :cmd (cmd为你的命令)
- 进入插入模式
- i (光标后插入)
- I (行首插入)
- a (光标后追加)
- A (行尾追加)
- o (当前行后插入新行)
- O (当前行前插入新行)
- cw (替换从光标所在位置后到一个单词结尾的字符)
- shift+zz保存并且退出
- 进入可视模式 v Shift+v Ctrl+v
- 方向键 h (左) l (右) j (下) k (上) w (下个单词) b (上个单词)
- 删除动作
- x (删除光标所在字符)
- X (删除光标所在前一个字符)
- Delete (同x)
- dd (删除整行)
- D 或 d$ (删除至行尾)
- d^ (删除至行首)
- dG (删除到文档结尾)
- d1G (删除到文档开始)
- 命令重复执行
- . (such as: 输入dd删除整行 再输入.,就会重复dd命令)
- ncmd (such as: 2dd, 4x etc.)
- 行间跳转
- gg (跳转到开始)
- G (跳转到最后)
- nG (跳转到第n行)
- Ctrl+o 返回上次跳转位置
- 行内跳转
- w (到下一个单词的开头)
- e (到下一个单词的结尾)
- b (到上一个单词的开头)
- ge (到上一个单词的结尾)
- 0或^ (跳转到行开始)
- $ (跳转到行尾)
- f<字母> (向后搜索字母并且跳转到第一个匹配位置)
- F<字母> (向前搜索字母并且跳转到第一个匹配位置)
- t<字母> (向后搜索字母并且跳转到第一个匹配位置之前的位置)
- T<字母> (向前搜索字母并且跳转到第一个匹配位置之后的位置)
- 复制
- y (复制)
- yy (复制整行, nyy复制n行)
- y^ (复制到行首)
- y$ (复制到行尾)
- yw (复制一个单词)
- y2w (复制两个单词)
- yG (复制到文本结尾)
- y1G (复制到文本开始)
- 粘贴
- p (粘贴)
- ddp (交互上下两行)
- 替换
- r<待替换字母> (将光标处的字母替换)
- R (连续替换,Esc停止)
- cc (替换整行:删除当前行 进入插入模式)
- cw (替换一个单词:删除光标位置单词 进入插入模式)
- C (替换到结尾)
- ~ (反转光标处字母的大小写)
- 撤销
- u{n} (撤销n次操作)
- U (撤销当前行的所有修改)
- Ctrl+r (反撤销)
- 缩进
- >> (整行向右缩进)
- << (整行向左回退)
- 查找
- 输入 / 开始向下查找
- 输入 ? 开始向上查找
- n (继续查找,已经进入查找模式)
- N (继续反向查找,已经进入查找模式)
- 高级查找: \* \# (寻找游标所处的单词,前者向上,后者向下)
- g\* g\# (找到符合的即可)
- 视窗
- Ctrl-w s 将当前窗口分割成两个水平的窗口
- Ctrl-w v 将当前窗口分割成两个垂直的窗口
- Ctrl-w q 即 :q 结束分割出来的视窗。如果在新视窗中有输入需要使用强制符!即:q!
- Ctrl-w o 打开一个视窗并且隐藏之前的所有视窗
- Ctrl-w j 移至下面视窗
- Ctrl-w k 移至上面视窗
- Ctrl-w h 移至左边视窗
- Ctrl-w l 移至右边视窗
- Ctrl-w J 将当前视窗移至下面
- Ctrl-w K 将当前视窗移至上面
- Ctrl-w H 将当前视窗移至左边
- Ctrl-w L 将当前视窗移至右边
- Ctrl-w - 减小视窗的高度
- Ctrl-w + 增加视窗的高度
插入模式(Insert Mode)
正常编辑即可
可视模式(Visual Mode)
- 普通模式输入v进入字符选择模式 再按一次v取消选择
- 普通模式输入Shift+v进入行选择模式 再按一次Shift+v取消选择
- 普通模式输入Ctrl+v进入块选择模式 进行矩形区域选取 再按依次Ctrl+v取消选择
命令模式(Command Line Mode)
- 文件操作
- :e file_path (打开文件)
- :e# (回到前一个文件)
- :ls (列出以前编辑过的文档)
- :b filename(或者编号) (直接进入filename文件进行编辑)
- :bd filename(或者编号) (删除以前编辑过的列表项目)
- :e! filename (打开新文件并且放弃当前文件的修改)
- :f (显示正在编辑的文件名)
- :f newname (对当前文件重新命名)
- :ewcover filename (不正常退出造成没保存,输入vim -r进入文档,然后此命令恢复)
- :w (保存文件)
- :q (退出)
- :q! (强制退出)
- :wq (保存退出)
- :set shiftwidth=4 (和>> << 向关联,设置缩进数目)
- 文本位置
- :ce (居中)
- :ri (靠右)
- :le (靠左)
- 视窗操作
- :new (新建窗口)
- :sp [filename] (新建横向视窗编辑filename)
- :vsp [filename] (新建纵向视窗编辑filename)
其他模式(略)
其他
- vim f1 f2 f3 … (进入vim并编辑多个文件)
- vim -x filename (添加密码)
- :set nu (显示行数 如果永久显示需要修改.vimrc文件)
- :set .. (其它设置请查询资料)