Vim Commands

Published: by Creative Commons Licence

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{text} 光标处字符替换成{text}  
    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 {a-zA-Z} 光标位置设置书签  
    :marks 列出所有书签  
    :delmarks a 删除书签  
    :delmarks ! 删除所有书签  
    '{a-zA-Z} 跳转到书签  
  • 文件操作

    按键 功能 备注
    :q 退出  
    :w 保存  
    :w filename 保存成filename  
    :wq 保存并退出  
    :q! 强制退出  
    :r filename 读入另一个文件  
    :n1,n2 w filename n1到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  # 粘贴

参考链接