• 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 => 强制退出
    

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

  • 相关阅读:
    XAMPP Error: Apache shutdown unexpectedly. 解决思路
    [转]《我眼中的技术高手》——邯郸学步、创作与创新
    svn 提交错误 400 Bad Reqest MKACTIVITY 请求于XX失败 Conflict Unable to connect to a repository at URL
    try catch 怎么写?
    正则词典
    用B表更新A表
    3种PHP连接MYSQL数据库的常用方法
    PHP数据库连接失败--could not find driver 解决办法
    Php.ini 文件位置在哪里,怎么找到 php.ini
    检测到在集成的托管管道模式下不适用的ASP.NET设置的解决方法(非简单设置为【经典】模式)。
  • 原文地址:https://www.cnblogs.com/metaphors/p/7553775.html
Copyright © 2020-2023  润新知