【程序员的手艺活儿】vim命令快速掌握

  程序员每天的工作都是写代码,那么如何在构思完成后快速的完成实现就是一个小手艺了。从小的学习经验告诉我,在学习一项知识的时候,系统化是最科学的方法。这篇文章就是按照编辑代码的思维方式来梳理一遍vim中的命令。

  • 基本模式切换

    命令 作用
    i 在当前光标前的位置,进入到插入模式
    a 在当前光标后的位置,进入到插入模式
    I 在行首的位置,进入到插入模式
    A 在行尾的位置,进入到插入模式
    R 在当前光标位置,进入到替换模式
    ESC 退出插入模式/替换模式,进入到命令模式
  • 光标的基本移动

    命令 作用
    h 前一个字符,直到行首
    l 后一个字符,直到行尾
    j 后一行
    k 前一行
  • 光标的单词移动

    命令 作用
    w 后一个单词词头,标点符号作为单独单词
    W 后一个单词词头,以空格作为单词分隔
    b 前一个单词词头,标点符号作为单独单词
    B 前一个单词刺头,以空格作为单词分隔
    e 后一个单词词尾,标点符号作为单独单词
    E 后一个单词词尾,以空格作为单词分隔
    ge 前一个单词词尾,标点符号作为单独单词
    gE 前一个单词词尾,以空格作为单词分隔
  • 区域选中

    命令 作用
    v 选中当前字符,并进入[字符选择模式]
    V 选中当前行,并进入[行选择模式],注意开了选择模式后关闭大小写,建议用shift+v
    ctrl+v 进入[块选择模式]
    vw 选中当前光标到单词词尾,标点符号作为单独单词
    vW 选中当前光标到单词词尾,以空格作为单词分隔
    viw 选中当前全单词,标点符号作为单独单词
    viW 选中当前全单词,以空格作为单词分隔
    ESC 退出选择模式,进入命令模式
  • 基本删除操作

    命令 作用
    x 命令模式下,删除当前字符
    X 命令模式下,删除当前光标的前一个字符
    back-space 插入模式下删除前一个字符,替换模式下清除替换
    del 插入模式下删除后一个字符,替换模式下删除后一个字符(不是清除替换)
  • 高效删除

    命令 作用
    dw 删除当前光标到单词词尾,标点符号作为单独单词
    dW 删除当前光标到单词词尾,以空格作为单词分隔
    diw 删除当前整个单词,标点符号作为单独单词
    diW 删除当前整个单词,以空格作为单词分隔
    D/d$ 删除当前光标到行尾
    dd 删除当前整行
  • 高效复制

    命令 作用
    yw 复制当前光标到单词词尾,标点符号作为单独单词
    yW 复制当前光标到单词词尾,以空格作为单词分隔
    yiw 复制当前整个单词,标点符号作为单独单词
    yiW 复制当前整个单词,以空格作为单词分隔
    y$ 复制当前光标到行尾
    yy 复制当前整行
  • 删除并进入插入模式

    命令 作用
    cw 删除当前光标到单词词尾,标点符号作为单独单词,并进入插入模式
    cW 删除当前光标到单词词尾,以空格作为单词分隔,并进入插入模式
    ciw 删除当前整个单词,标点符号作为单独单词,并进入插入模式
    ciW 删除当前整个单词,以空格作为单词分隔,并进入插入模式
    C/c$ 删除当前光标到行尾,并进入插入模式
    cc 删除当前整行,并进入插入模式
  • 缩进调整

    命令 作用
    >> 为当前行/选中区域增加缩进
    << 为当前行/选中区域减少缩进
    5>> 为当前5行增加缩进
    5<< 为当前5行减少缩进
    >% 为当前括号区域增加缩进
    <% 为当前括号区域减少缩进
    > i { 为当前括号内的区域增加缩进
    < i { 为当前括号内的区域减少缩进
  • 基本跳转

    命令 作用
    :5 跳转到第5行
    gg 跳转到文档开头
    G 跳转到文档末尾,建议用shift+G
  • 快速查找

    命令 作用
    /xxx 查找xxx
    ?xxx 查找xxx
    shift+* 查找当前单词

你可能感兴趣的:(计算机语言与程序杂思)