Vim 键位整理

    • 空格键
    • <cr> 回车
    • <c-f> 表示 <ctrl>f 的组合键

    光标移动

    1. h " 方向键 ←
    2. j " 方向键
    3. k " 方向键 ↑
    4. l " 方向键
    5. 0 " 移动到行首
    6. $ " 移动到行尾的回车符
    7. g_ " 移动到行尾最后一个非空字符
    8. gg " 移动到第一行
    9. G " 移动到最后一行"
    10. w " 移动到下一个单词开头
    11. e " 移动到单词的结尾
    12. b " 移动到单词的开头
    13. " 不常用
    14. nh " 向左移动 n 格,n 为数字
    15. nl " 向右移动 n
    16. nj " 向下移动 n 行
    17. nk " 向上移动 n
    18. n<space> " 向右移动 n 格,同 nl
    19. H " 移动到当前屏幕第一行的第一个字符
    20. M " 移动到当前屏幕中间行的第一个字符
    21. + " 移动到非空白字符的下一行
    22. - " 移动到非空白字符的上一行
    23. :n<cr> " 跳转到第 n 行

    翻页

    1. <c-f> " 向下移动一页
    2. <c-d> " 向下移动半页
    3. <c-u> " 向上移动半页

    复制、粘贴、删除

    1. x " 向后删除一个字符
    2. nx " 向后删除 n 个字符
    3. X " 向前删除一个字符
    4. nX " 向前删除 n 个字符
    5. dd " 删除当前行
    6. ndd " 向下删除 n
    7. d1G / dgg " 删除第一行到当前行的数据
    8. dG " 删除当前行到最后一行的数据
    9. d$ " 删除当前字符到行尾
    10. D " 删除当前字符到行尾
    11. d0 " 从行首删除到当前字符
    12. yy " 复制当前行
    13. Y " 复制当前行
    14. nyy " 从当前行开始复制 n
    15. y1G / ygg " 从第一行复制到当前行
    16. yG " 从当前行复制到最后一行
    17. y0 " 从行首复制到当前字符
    18. y$ " 从当前字符复制到行尾
    19. p, P " 黏贴,p 黏贴到光标下一行,P 黏贴到光标上一行
    20. yyp " 复制并粘贴
    21. ddp " 删除并粘贴,相当于下移当前行
    22. "+y " 复制本文到系统剪切板
    23. "+p " 粘贴系统剪切板到 Vim(不会影响文本格式)

    插入

    1. i " 在光标前进入 insert 模式
    2. I " 在当前行左边第一个非空字符前进入 insert 模式,类似其他编辑器的 <c-a> 快捷键
    3. A " 在当前行右边第一个非空字符前进入 insert 模式,类似其他编辑器的 <c-e> 快捷键
    4. o " 在光标的下一行插入
    5. O " 在光标的上一行插入
    6. S " 删除当前行,并进入插入模式
    7. vc " 删除当前字符,并进入 insert 模式
    8. cc " 删除当前行,并进入插入模式
    9. c0 " 删除光标位置到行首,并进入 insert 模式
    10. cg_ " 删除光标位置到行尾最后一个非空字符,并进入 insert 模式
    11. ce " 删除光标位置到单词末尾,并进入 insert 模式
    12. cw " 删除光标位置到单词末尾,并进入 insert 模式
    13. ciw " 删除当前单词,并进入 insert 模式
    14. cip " 删除整个段落,并进入 insert 模式
    15. ci( " 删除当前括号内的内容,并进入 insert 模式 适用于 ([{<'` 等所有成对的标签

    替换

    1. r " 替换单个字符,自动返回 normal 模式
    2. R " 连续替换多个字符,手动 <esc> 返回 normal 模式

    大小写

    1. ~ " 当前字符大小写反转
    2. g~~ " 正行字符大小写反转
    3. vu " 当前字符小写
    4. vU " 当前字符大写
    5. vU " 当前字符大写
    6. viwu " 当前字符小写
    7. viwU " 当前字符大写
    8. ggguG " 文本所有字符小写
    9. gggUG " 文本所有字符大写
    10. :%s/\<./\u&/g " 将所有单词首字母大写(需要使用 :nohls 去掉高亮)
    11. :%s/\<./\l&/g " 将所有单词首字母小写
    12. :%s/.*/\u& " 将每行第一个字母大写
    13. :%s/.*/\l& " 将每行第一个字母小写

    多文件编辑

    1. vim file1 file2 " 同时打开两个文件
    2. :files " 查看现在编辑的文件列表,%a 代表正在操作哪个文件
    3. 1 %a "file1" line 1
    4. 2 "file2" line 0
    5. :n " 跳到下一个文件,这里的 n 就是字母