美文网首页
vim - 我的vim常用操作

vim - 我的vim常用操作

作者: 一双鱼jn | 来源:发表于2018-05-18 15:40 被阅读5次

    移动和跳转

    行首 ---- ^
    行尾 ---- $

    当页最后一行 ------- G
    当页第一行 --------- gg

    ma ---- 把当前位置标记为标签a
    `a ---- 跳转到标签a的位置

    fx ---- 移动到当前行的x字符位置
    Fx ---- 反向移动到当前行的x字符位置


    查找和替换

    :[range]s/old/new/[flags]
    
    range : 替换的范围  
      % : 全文
      1,10 : 1-10行
    
    flags : 
      c : comfirm , 每次替换前进行确认
      g : global , 整行中所有匹配的内容都替换。不加g默认只替换每行的第一个匹配内容
      i : ignore , 忽略大小写
    

    :%s/old/new/g ----- 所有行替换
    :%s/old/new/gc ---- 所有行替换,替换前确认
    :1,10s/old/new/---- 1-10行替换
    :10s/old/new/ ----- 第10行匹配的第一个内容进行替换
    :.,.+5s/old/new/g ---- 从当前行及后续5行内进行替换


    正则表达式替换

    :%s/\s+$//g ---- 删除所有行尾的空格

    :%s/^\s*//g ---- 删除所有行首的空格

    :%s/^$//g ----- 删除空行

    :%s/^\(.*\)=\(.*\)/"\1" : "\2"/g --- 将类似如下格式的文本进行替换

    key=value 
    
    替换后 
    
    "key" : "value"
    

    ^\(.*\)=\(.*\)$
    ^匹配行首,然后是任意多个字符一直到=为止,为一组,这一组用()包起来,但是在vi中需要用\转义。继续任意多个字符一直到行尾为一组。

    "\1" : "\2"
    首先添加一个",然后放第一组的内容,\1是刚刚匹配的第一个()中的内容


    ~ ---- 切换当前字符的大小写

    r --- 替换当前字符
    R --- 从当前字符位置开始替换


    插入和删除

    D ---- 从当前位置删除到行尾

    cc --- 删除一行并进入编辑模式

    s ---- 删除当前字符并进入编辑模式
    S ---- 删除当前行并进入编辑模式

    相关文章

      网友评论

          本文标题:vim - 我的vim常用操作

          本文链接:https://www.haomeiwen.com/subject/asvgdftx.html