光标相关操作
效果 | 操作 |
左、下、上、右移动 | h, j, k, l |
向左移动到单词首字母 | b |
向右移动到单词尾字母 | w |
向右移动到单词尾字母 | e |
移动至行首 | 0 |
移动至行尾 | $ |
替换字符 | r |
连续替换字符 | R |
剪切字符 | x |
剪切前一个字符 | X |
切换字母大小写 | ~ |
跳转到当前行的指定字符处 | f+字符 |
跳转到当前行的指定字符的前一个位置 | t+字符 |
连续重复执行上一次的f或t | ; |
跳到第n行 | n+gg 或 n+G 或 :n //n是整数 |
跳到文件第一行 | gg |
跳到文件最后一行 | G |
返回跳转列表的上一个行位置,即回撤行的跳转 | Ctrl + o |
跳转到跳转列表的下一个行位置,即取消回撤 | Ctrl + i |
vim中大部分操作前输入数字可以修改下一个操作数的步长,如向下移动3行: 3j
常规编辑操作
效果 | 操作 |
光标前插入 | i |
光标后追加 | a |
行首插入 | I |
行尾追加 | A |
向上插入新的一行 | O |
向下追加新的一行 | o |
复制指定内容 | v进入可视模式, 选取内容后y |
复制内容到下一个空格为止 | yw |
复制一行 | yy |
复制n行 | y + n + y (n是整数) |
剪切指定内容 | v进入可视模式, 选取内容后d |
剪切内容到下一个空格为止 | dw |
剪切一行 | dd |
剪切n行 | d + n + d (n是整数) |
粘贴到光标前 | P |
粘贴到光标后 | p |
取消上一次修改操作, 即回撤 | u |
取消回撤 | Ctrl + r |
检索和替换
效果 | 操作 |
查找指定文本 | / + 文本 |
向右跳转到指定的文本 | n |
向左跳转到指定的文本 | N |
向右跳转到与当前光标相同的单词 | * |
向左跳转到与当前光标相同的单词 | # |
高亮显示所有与当前查找匹配的内容 | :set hlsearch |
关闭高亮显示 | :nohlsearch (或 :noh) |
向右替换旧文本为新文本 | :s /旧文本/新文本 (旧新文本之间无空格, :s与/之间有空格) |
替换文件所有旧文本为新文本(不逐个确认) | :%s /旧文本/新文本/g |
替换文件所有旧文本为新文本(逐个确认) | :%s /旧文本/新文本/g/c |
设置搜索时忽略字母大小写 | set ignorecase |
取消忽略字母大小写 | noignorecase |
其他
效果 | 操作 |
帮助文档 | :help |
显示行号 | :set number (或set nu) |
不显示行号 | :set nonumber (或set nonu) |
格式化指定文本 | v进入可视模式选中指定文本, 然后gq |
格式化整个文件的文本内容 | gggqG |
垂直打开新的分页(多开编辑) | :split 文件名 (或sp 文件名) |
水平打开新的分页(多开编辑) | :vsplit 文件名 (或vsp 文件名) |
分页之间循环切换 | Ctrl + w + w |
分别切换到当前分页的左、下、上、右分页 | Ctrl + w + (h, j, k, l) |
打开新的标签页 | :tabnew 文件名 (或tabe 文件名) |
切换到下一个标签页 | gt |
切换到上一个标签页 | gT |
Comments NOTHING