移动光标

  • 简单移动光标

  • 按行号移动

  • 按文本块移动

  • 按屏幕移动

啰哩叭嗦

  • VIM最大的好处之一是可以有许多选项进行选择,对于新手来说,这也是最大的不利之一

  • 一定要多练习,就像打字一样;不可能光认识拼音或知道如何拆字就能快速打字,VIM也不可能单独记下一些命令而快速操作文本

简单移动光标

更多的时候,我们往往是编辑或修改文本,编辑一个文件不可能一气呵成;

所以第一步应该是快速定位到将要操作的位置

常用命令(在命令模式下)

| 命令 | 说明 |

|-----|---------------|

| h | 左移一格 |

| j | 下移一行 |

| k | 上移一行 |

| l | 右移一格 |

| 0 | 移动到行首 |

| $ | 移动到行尾 |

| ^ | 移动到行首第一个非空白字符 |

| g_ | 移动到行尾非空白字符 |

一般情况下,上下左右光标键也可以用来在文本间移动,效果同(h,j,k,l);不过并不推荐使用它,因为使用光标键就意味着右手要离开主键盘区,所以掌握字母键移动势在必行

数字参数,(h,j,k,l) 等命令可以在前面添加数字参数(4h,4j,4k,4l) 表示移动4格

按行号移动

在调试bug时,往往会根据bug提示定位到指定行

常用命令(在命令模式下)

| 命令 | 说明 |

|-----|---------------------|

| gg | 移到文件开头 ctrl+o 快速返回 |

| G | 移到文件结束 ctrl+o 快速返回 |

| nG | 移动到第n行 |

| `` | 返回上次调用G命令的位置 |

按文本块移动

简单移动命令只能进行字符,行很少粒度的移动

按屏幕移动往往是查阅操作的时候翻页使用

常用命令(在命令模式下)

| 命令 | 说明 |

|-----|-------------------------------------------|

| w | 按单词移动光标 |

| W | 按单词移动光标,不计算标点符号 |

| b | 按单词后移光标 |

| B | 按单词后移光标,不计算标点符号 |

| e | 移动到词尾 |

| E | 移动到词尾,忽略标点 |

| ( | 移动到当前句子的开始 |

| ) | 移动到下一句子的开始 |

| { | 移动到当前段落的开始 |

| } | 移动到下一段落的开始 |

| [[ | 移动到当前节的开始 |

| ]] | 移动到下一节的开始 |

| fx | 移动到当前行中x的下一个实例,使用分号;/,逗号继续搜索该行上一下或者下一个 |

| Fx | 移动到当前行中x的上一个实例,使用分号;/,逗号继续搜索该行上一下或者下一个 |

| tx | 移动到当前行中x的上一个实例的前面,使用分号;/,逗号继续搜索该行上一下或者下一个 |

| Tx | 移动到当前行中x的下一个实例的前面,使用分号;/,逗号继续搜索该行上一下或者下一个 |

按屏幕移动

小文件屏幕一屏就能显示完,更多的时候文件都有成百上千行,一屏很难全部阅读

常用命令(在命令模式下)

| 命令 | 说明 |

|--------|------------------------------|

| Ctrl+f | 向前滚动一屏 |

| Ctrl+b | 向后滚动一屏 |

| Ctrl+d | 向前滚动半屏 |

| Ctrl+u | 向后滚动半屏 |

| Ctrl+e | 向上滚动一行 |

| Ctrl+y | 向下滚动一行 |

| H/M/L | 转到屏幕的开头head,中间middle和结尾lower |

| z+回车 | 把当前行移动到屏幕顶部并滚动 |

| z. | 把当前行移动到屏幕中央并滚动 |

| z- | 把当前行移动到屏幕底部并滚动 |

| zz | 把当前行放到屏幕中间 |

| Ctrl+l | 刷新屏幕 |