zoukankan      html  css  js  c++  java
  • Vim的基本使用(一)

    本文为原创文章,转载请标明出处

    目录

    1.移动光标
    2.屏幕滚动
    3.模式查找
    4.位置标记
    5.删除文本
    6.撤销与重做
    7.插入文本
    8.复制与移动
    9.修改文本
    10.写入与退出

    1. 移动光标

    h => 左
    j => 下
    k => 上
    l => 右
    
    0 => 移动到行首(不可指定计数)
    $ => 移动到行末(n-1)
    ^ => 移动到本行第一个非空白字符(不可指定计数)
    _ => 移动到本行第一个非空白字符(n-1)
    数字+| => 移动到第n列
    f+字符 => 移动到该行右边该字符处
    F+字符 => 移动到该行左边该字符处
    t+字符 => 移动到该行右边该字符前
    T+字符 => 移动到该行左边该字符后
    
    - => 移动到前一行第一个非空白字符
    + => 移动到下一行第一个非空白字符
    数字+G => 移动到第n行第一个非空白字符
    数字+gg => 移动到第n行第一个非空白字符
    G => 移动到最后一行行首
    gg => 移动到第一行行首
    数字+% => 移动到全文件百分之n处
    
    M => 移动到屏幕中间行第一个非空白字符
    
    % => '()[]{}'括号匹配(不可指定计数)
    
    w => 移动到下一个单词词首
    e => 移动到下一个单词词尾
    b => 移动到上一个单词词首
    ge => 移动到上一个单词词尾
    W => 移动到下一个空白格开的字串首
    E => 移动到下一个空白格开的字串尾
    B => 移动到上一个空白格开的字串首
    gE => 移动到上一个空白隔开的字串尾
    
    ( => 移动到下一句首
    ) => 移动到上一句首
    } => 移动到下一段落
    { => 移动到上一段落
    [[ => 移动到第一行行首
    ]] => 移动到最后一行行首
    [] => 移动到前一个'}'
    ][ => 移动到后一个'}'
    

    2. 屏幕滚动

    Ctrl+u => 上滚1/2页
    Ctrl+d => 下滚1/2页
    Ctrl+f => 上滚1页
    Ctrl+b => 下滚1页
    zz => 置当前行于当前屏幕正中
    zt => 置当前行于当前屏幕顶部
    zb => 置当前行于当前屏幕底部
    
    

    3. 模式查找

    /+字符串 => 向后查找该字符串
    ?+字符串 => 向前查找该字符串
    n => 查找下一处
    N => 查找上一处
    * => 向后查找光标处的字符串
    # => 向前查找光标出的字符串
    
    全文查找并替换
    :%s/str1/str2/g
    

    4. 位置标记

    m+{a-zA-Z} => 用{a-zA-Z}记录当前位置(不可指定计数)
    `+{a-zA-Z} => 跳转到标记{a-zA-Z}的位置(不可指定计数)
    '+{a-zA-Z} => 同上
    `` => 跳转到跳转之前的光标位置(不可指定计数)
    '' => 同上
    `" => 跳转到最后编辑的光标位置(不可指定计数)
    '" => 同上
    `[ => 跳转到最后修改的开始位置(不可指定计数)
    '[ => 同上
    `] => 跳转到最后修改的结束位置(不可指定计数)
    '] => 同上
    `. => 跳转到文件最后被改动的位置(不可指定计数)
    '. => 同上
    Ctrl+o => 跳转到跳转表较早的位置
    Ctrl+i => 跳转到跳转表较晚的位置
    :marks => 列出标记
    :jumps => 列出跳转表
    

    5. 删除文本

    x => 删除光标之后的字符
    X => 删除光标之前的字符
    D => 删除光标至行尾
    dd => 删除光标所在行
    d^ => 删除光标至行首
    d$ => 删除光标至行尾
    dw => 删除光标至光标所在单词词尾(包括词尾空格)
    de => 删除光标至光标所在单词词尾(不包括词尾空格)
    dgg => 删除至文件头
    gG => 删除至文件尾
    J => 删除光标所在行的行尾换行符并插入空格
    gJ => 删除光标所在行的行尾换行符不插入空格
    

    6. 撤销与重做

    u => 撤销上一步操作
    Ctrl+r => 恢复撤销操作
    U => 撤销行内操作(不可指定计数)
    

    7. 插入文本

    i => 在光标后插入文本
    a => 在光标前插入文本
    A => 在当前行末插入文本
    I => 在当前行的第一个非空白字符前插入文本
    o => 在当前行下方开始新行
    O => 在当前行上方开始新行
    

    8. 复制与移动

    Y => 复制光标至行尾
    yy => 复制光标所在行
    y+操作 => 复制操作覆盖的内容
    p => 粘贴至光标后
    P => 粘贴至光标前
    gp => 粘贴至光标后并光标后移
    gP => 粘贴至光标前并光标后移
    
    将1~3行文字复制到光标所在位置
    :1,3 co .
    将1~3行文字复制到第7行所在位置
    :1,3 co 7
    将1~3行文字移动到光标所在位置
    :1,3 m .
    将1~3行文字写到新的文件filename中
    :1,3 w filename
    将1~3行文附加到新的文件filename中
    :1,3 w >> filename
    

    9. 修改文本

    数字+r+字符 => 用该字符替换n个字符
    R => 进入替换模式
    S => 删除光标所在行并进入插入模式
    cc => 删除光标所在行并进入插入模式
    c^ => 删除光标至行首并进入插入模式
    c$ => 删除光标至行尾并进入插入模式
    cw => 删除光标所在单词并进入插入模式(不包括词尾空格)
    ce => 同上
    C => 删除光标至行尾并进入插入模式(n-1)
    s => 删除光标所在字符并进入插入模式
    ~ => 反转字符的大小写并前进光标
    g~+操作 => 将操作覆盖的文本反转大小写
    gu+操作 => 将操作覆盖的文本转为小写
    gU+操作 => 将操作覆盖的文本转为大写
    Ctrl+a => 将光标之上的或之后的数值增加n
    Ctrl+x => 将光标之上的或之后的数值减小n
    >+操作 => 将操作覆盖的内容右移tab
    <+操作 => 将操作覆盖的内容左移tab
    >> => 该行左移tab
    << => 该行右移tab
    xp => 删除一个字符插入到光标之后
    

    10. 写入与退出

    :w => 写入当前文件
    :q => 正常退出
    :wq => 保存退出
    :q! => 强制退出
    ZZ => 保存退出
    ZQ => 强制退出
    

    如有不当之处,请予指正,谢谢~

  • 相关阅读:
    【算法习题】青蛙跳台阶
    【转】从PowerDesigner概念设计模型(CDM)中的3种实体关系说起
    redis常用链接
    读书笔记——《redis入门指南(第2版)》第四章 进阶——4.1-5
    查询linux计算机的出口ip
    读书笔记——《redis入门指南(第2版)》第三章 入门
    vmware中的linux虚拟机配置以nat模式上网,并用xshell连接该虚拟机
    每日代码系列(1)
    第一次尝试自己编写
    原型模式
  • 原文地址:https://www.cnblogs.com/metaphors/p/7553775.html
Copyright © 2011-2022 走看看