Vim Commands

Picture of vim

  • 入门版

  • 进阶版

Short Cut Key

  • 模式切换

    按键功能备注
    Esc正常模式
    i插入模式
    :命令行模式
    v逐字可视化选择模式
    V逐行可视化模式
  • 光标移动

    按键功能备注
    h左移一个字符
    j下移一个字符
    l右移一个字符
    k上移一个字符
    0行首数字 0
    $行尾
    ^本行第一个非空字符
    g_行尾非空字符
    %括号另一半
    w下一个词开头以标点作为分隔符
    W下一个词以空格作为分隔符
    5w下 5 个词
    e本词结尾以标点作为分隔符
    E本词结尾以空格作为分隔符
    ge上一个词结尾以标点作为分隔符
    gE下一个词结尾以空格作为分隔符
    b上一个词开头以标点作为分隔符
    B上一个词开头以空格作为分隔符
    5b上 5 个词
    G文件末尾
    gg文件开头
    +非空字符下一行
    -非空字符上一行
    (上一句
    )下一句
    {上一段
    }下一段
    [[上一部分
    ]]下一部分
    []上一部分末尾
    ][下一部分开头
    H可视化区域最上方
    M可视化区域中间
    L可视化区域最下方
    zz当前行居中
  • 插入操作

    按键功能备注
    a光标后插入
    A行末插入
    i光标前插入
    o下方新开行
    O上方新开行
    : r [filename]在下方插入文件内容
    : r ![command]在下方插入命令输出内容
    u撤销
    ctrl r恢复撤销内容
  • 删除操作

    按键功能备注
    x删除光标处字符
    X删除光标前字符
    dw删除一个词
    d$删除至行尾
    d0删除至行首
    d)删除至句末
    dgg删除至文章开始
    dG删除至文章结束
    dd删除该行
    3dd删除三行
    cc重写该行
    r光标处字符替换成
    R 输入字符将替换光标处文字覆写模式
    s删除字符并进入插入模式
    S删除本行并进入插入模式
  • 选择后续操作

    按键功能备注
    ~当前光标下切换大小写
    u可视化模式转化为小写
    U可视化模式转化为大写
    d删除一个关键词
    D删除到行尾
    c变更
    C变更到行尾
    y复制
    >右移
    <左移
    !通过外部命令进行过滤
    .执行重复修改操作
    J合并多行
    <<左缩进
    >>右缩进
  • 复制操作

    按键功能备注
    y复制
    ["x]yy复制当前行到寄存器 x
    p在当前行之后粘贴
    P在当前行之前粘贴
    ["x]p粘贴寄存器 x 中的内容
    qa录制宏 a再次 q 结束录制
    @a播放宏 a
  • 查找

    按键功能备注
    /后部分查找
    ?前部分查找
    n下一个查找结果
    N前一个查找结果
    f向后移动到指定字符
    F向前移动到指定字符
    t指定字符前一个字符
    T指定字符后一个字符
    ;向后重复上次 f 操作
    ,向前重复上次 f 操作
    gd跳转到定义
    gf跳转到源文件
    gh悬停光标
    *跳转到下一个相同单词
    #跳转到上一个相同单词
  • 标记

    按键功能备注
    m光标位置设置书签
    :marks列出所有书签
    :delmarks a删除书签
    :delmarks !删除所有书签
    '跳转到书签
  • 文件操作

    按键功能备注
    :q退出
    :w保存
    :w filename保存成 filename
    :wq保存并退出
    :q!强制退出
    :r filename读入另一个文件
    :n1,n2 w filenamen1 到 n2 行保存成新文件
    ZZ退出并保存
    ZQ退出不保存

常用操作

cw      # 删除当前位置到一个单词长度
caw     # 删除一个单词
c$      # 删除到行尾
c^      # 删除到行首
ci"     # 删除引号内容
yi"     # 复制引号内容
ya"     # 复制字符串包含"
yl      # 复制当前字符
;,      # 重复上次移动修改操作
ctrl f  # 下页
ctrl b  # 上页
ctrl d  # 下半页
ctrl u  # 上半页
:%s/original/replacement    # 替换第一个original
:%s/original/replacement/g  # 替换所有original
:%s/original/replacement/gc # 询问并替换所有original
nyy     # 复制n行
dyy     # 剪切多行
g~      # 当前行大小写切换
guu     # 当前行全转化为小写
gUU     # 当前行全转化为大写
guw     # 当前单词转化为小写
gUw     # 当前单词转化为大写
gi      # 最后插入的地方插入
df{char}      # 向后删除到指定字符
dF{char}      # 向前删除到指定字符
dt{char}      # 向后删除到指定字符前一个字符
dT{char}      # 向前删除到指定字符后一个字符
ctrl+insert   # 复制
shift+insert  # 粘贴

参考链接