--- title: Vim快捷键备忘录 date: 2018-10-17 10:17:49 tags: [vim] categories: daily --- Vim快捷键查询。 ## 光标移动 | 命令 | 作用 | | ----------------- | ------------------------------------------ | | h,j,k,l | h表示往左,j表示往下,k表示往上,l表示往右 | | ctrl+f | 上一页 | | ctrl+b | 下一页 | | w,e,W,E | 跳到单词的后面,小写包括标点 | | b,B | 跳到单词的前面,小写包括标点 | | 0 | 跳到本行的头部 | | ^ | 跳到一行的开始 | | $ | 跳到一行的结尾 | | gg | 文档的第一行 | | [N]G | 文档的第N行(G是最后一行),如:27G | | f`space`,F`space` | 移动到右边的空格,大写移动到左边的空格 | ## 插入 | 命令 | 作用 | | ---- | -------------------------- | | i | 插入到光标前面 | | I | 插入到行的开始位置 | | a | 插入到光标的后面 | | A | 插入到行的最后位置 | | o | 在当前光标的下方插入新一行 | | O | 在当前光标的上方插入新一行 | | Esc | 关闭插入模式 | | | | | | | | | | | | | ## 编辑 | 命令 | 作用 | | ------ | -------------------------------------- | | r | 替换光标所在的一个字符 | | J | 合并下一行到当前行 | | s | 删除光标所在的一个字符,光标还在当前行 | | S | 删除光标所在行的内容,光标还在当前行 | | u | 撤销上一步操作 | | U | 撤销当前行的更改 | | ctrl+r | 恢复上一步操作 | | . | 重复最后一个命令 | | ~ | 变换为大写 | | [N]>> | 一行或N行往右移动一个tab | | [N]<< | 一行或N行往左移动一个tab | | | | ## 退出 | 命令 | 作用 | | ------ | ---------------- | | :w | 保存 | | :wq,:x | 保存并关闭 | | :q | 关闭(已保存) | | :q! | 强制关闭,不保存 | | | | ## 查找和搜索 | 命令 | 作用 | | -------------------- | ------------------------------------------------------------ | | /pattern | 搜索(非插入模式),支持正则 | | ?pattern | 往后搜索 | | n | 当前搜索结果的下一个目标 | | N | 当前搜索结果的上一个目标 | | rp | 将光标之后的字符替换为字母p | | :s/word/replace | 光标所在行的第一个word替换为replace | | :%s/word/replace | 全文查找word并替换为replace | | :1,50s/word/replace | 在第1行和第50行之间(含)进行搜索和替换 | | :45s/word/replace/ | 表示仅仅在第45行进行搜索和替换。而 1,$ 行号范围和 % 是等价的 | | :%s/^/要插入的字符串 | 每行开头插入字符串 | | :%s/$/要插入的字符串 | 每行结尾插入字符串 | ## 剪切、复制和粘贴 | 命令 | 作用 | | ----- | ------------------------------------------------------------ | | dd | 删除一行,同时被删除内容存于剪贴板上 | | de | 删除光标后的单词内容,同时被删除内容存于剪贴板上 | | dG | 删除当前位置到文件结尾内容 | | dw | 删除光标后的单词内容以及之后的空格,同时被删除内容存于剪贴板上 | | [N]dd | 删除以当前行开始的n行 | | x | 删除后一个字符 | | X | 删除前一个字符 | | D | 删除当前位置到行末的内容 | | [N]yy | 复制一行或者N行 | | yw | 复制一个单词 | | p | 粘贴 | ## 窗口操作 | 命令 | 作用 | | ------- | ------------------------------------------------------------ | | :split | 水平方向分割出一个窗口 | | :vsplit | 垂直方向分割出一个窗口 | | :close | 关闭窗口 | | ctrl+w | 切换窗口, h到左边窗口,j到下方窗口,k到上方窗口,l到右边窗口 | ## 常用操作 | 命令 | 作用 | | ------- | --------------------------------- | | gg + dG | 清空文件内容 | | viw,vaw | 选中光标所在单词(vaw包括前后空格) | | | | ## 在线文档 - [VIM QUICK REFERENCE CARD](http://tnerual.eriogerg.free.fr/vimqrc.pdf) - ![增强版](morden1.png) - ![文字版](text1.png)