zoukankan      html  css  js  c++  java
  • Vim常用操作总结

    普通模式

    >G      增加当前行到文档末尾处的缩紧层级
    $       移动到本行的末尾
    .       相当于一个很小的宏,记住上次的命令,用来重复执行上一次修改
    ;       重复查找上一次f命令查找到的字符
    ,       和;相反,跳回到上一次查找到的字符
    :       ex命令
    {       跳到段首
    }       跳到段尾
    (       跳到句首
    )       跳到句尾
    ~       转换光标上字符的大小写
    %       括号匹配
    /       在文档里查找下一次匹配
    :%s/content/copy/g      将全文中的content替换成copy
    &       回退本行中的替换
    <       减小缩进
    >       增加缩进
    =       自动缩进
    
    a       在光标后面插入
    A       跳到行尾并进入插入模式
    b       向前移动一个单词,光标停到单词开头
    B       光标跳到前一个单词
    c       重复删除多行/多元素,需要配合hjkl来使用,如3cj,2ch
    C       修改至末尾(删除光标到行尾的所以并进入插入模式)
    d       删除多行,dd删除一行,2dd删除2行
    D       删除光标所行尾,但不进入插入模式
    e       跳到单词末尾
    E       跳到单词末尾
    f       行内字符查找,fs跳到下一个出现s的位置
    F       行内字符反向查找,与f的作用查找反向相反
    g       gg跳到文档的第一行
    G       跳到文档末尾
    h       右键
    H       光标跳到屏幕顶行
    i       在光标之前插入
    I       到行首插入
    j       下键
    J       合并两行
    k       上键
    K       帮助,暂时关闭vim切换到命令行
    l       右键
    L       光标跳到屏幕底部
    m       局部标记光标所在位置,具体不知道怎么用
    M       光标跳到屏幕中间
    n       查找下一个
    N       查找上一个
    o       在下一行插入
    O       在上一行插入
    p       粘贴到下一行
    P       粘贴到上一行
    q       录制宏,不知道干嘛的
    Q       切换到ex模式,不知道干嘛的
    r       取代,ra用a将当前光标所在的字符替换,不进入插入模式
    R       替换模式,将字符安替换并进入插入模式
    s       删除当前光标所在的字符并进入插入模式
    S       删除行并进入插入模式
    t       ti移动光标到当前行,当前光标后面的第一个i前面
    T       不知道
    u       撤销上一次操作(全文撤销)
    U       撤销行内命令
    v       可视模式,可以直接选择多行
    V       可视模式
    w       下一个单词
    W       下一个单词
    x       删除光标所在的字符
    X       退格
    y       yy复制一行,4yy复制4行
    z       附加命令
    Z       退出
    
    c       重复删除多个数据
    cw      删除本行从光标开始到结束的字符,并进入编辑模式重新输入
    dw      删除从光标所在到单词结束的
    dapw    删除整个单词
    dpb     删除从光标开始到单词开头的位置

    插入模式

    <C u>   删除至行首
    <C r>=  做数值计算

    可视模式

    V       面向行的可视模式
    v       面向字符的可视模式
    <C v>   面向列的可视模式
    gv      重选上次的高亮区域

    命令行模式 

    :       进入命令行模式
    :edit   读文件
    :write  写文件
    :sp     横向分割窗口
    :vsp    纵向分割窗口
    :[range]delete x        将range指定的范围的行删除到寄存器x中(用;分割范围,下同)
    :[range]yank x  将range指定的范围的行复制到寄存器x中
    :[line]put x    将寄存器x中的内容粘贴到line指定的行后面
    :[range]copy[address]   将range范围内的值拷贝到address指定的行下面
    :[range]move[address]   将range范围内的值移动到address指定的行下面
    :1      文件的第一行
    :$      文件的最后一行
    :0      虚拟行,文件的第一行上方
    :.      代表当前行
    :![command]     不退出vim执行shell命令,相当于只能执行一次shell命令
    :shell  启动一个交互的shell会话,结束后输入exit可回到vim
    :read![command] 在shell中执行command命令,但将结果输出到vim中
  • 相关阅读:
    linux时间格式化
    mysql5.7 安装版安装
    mac下面安装多个JDK
    linux一台机器文件传到另一台机器上
    取模运算
    【UVALive 7334】Kernel Knights
    【HDU 2604】Queuing
    【CodeForces 577B】Modulo Sum
    【CodeForces 504A】Misha and Forest
    【HDU 2203】亲和串
  • 原文地址:https://www.cnblogs.com/Mr-Wenyan/p/9545736.html
Copyright © 2011-2022 走看看