• vim常用快捷键笔记


    模式切换

    Vim一共有4个模式:

    • 正常模式 (Normal-mode) :正常模式一般用于浏览文件,也包括一些复制、粘贴、删除等操作
    • 插入模式 (Insert-mode):在正常模式中按下i, I, a, A等键
    • 命令模式 (Command-mode):在正常模式中,按下:(冒号)键,会进入命令模式
    • 可视模式 (Visual-mode):在正常模式按下v, V, <Ctrl>+v,可以进入可视模式。

    显示行号

    set nu 显示行号

    set nonu 不显示行号

    删除行文本相关

    首先前提是在编辑模式下按esc进入命令模式下操作

    x 删除当前光标中的一个字符

    dw 当前光标单词的剩余部分(delete word),就是删除光标之后第一个空格之前的内容

    db 光标和前一个单词剩余部分,删除光标之前第一个空格之间的内容

    ndw 删除当前光标后的n个单词

    d$ / D 删除当前光标之后的这一行的所有内容

    dd 直接删除当前行

    ndd 直接删除当前行开始的n

    c功能与d功能类似,但是c功能会操作完进入INSERT模式,比如:cw,c$,cc

    d) 删除到下一行的开始,被删除行会消失,不会变成空行

    d + 回车 直接删除2行(当前行+下一行)

    gg dG 删除所有文本

    复制和粘贴

    1. 将光标移动到要复制的位置,按V进入可视化模式。

    2. 将光标移动到要复制的结束的位置,按下y,复制。(此时vim自动选中要复制的内容并复制,然后退出可视化)。

    3. 将光标移动到要粘贴的地方,按p粘贴。

    撤销和重做

    u 撤销上一步的操作(undo)

    ctrl+r 重做撤销的步骤(redo)

    查找和替换

    全文的搜索

    直接在normal模式下按/进入查找模式,然后输入要查找的字符串按下回车, vim会跳转到匹配的第一个,然后按下

    n 查找下一个,按下N查找上一个。

    3n 向后查找三个符合的字符串。

    向上搜索,随后的n命令向上搜索,N向下搜索,其他和/一样

    • 取消搜索后的高亮显示方法::/,?set nohlsearch, :nohl

    大小写敏感查找

    在查找模式中加入c表示大小写不敏感查找,C表示大小写敏感查找

    例如,查找大小写敏感的void:

    /void C
    

    查找当前光标的单词

    在normal模式下按*既可以查找光标所在单词,(单词的要求是每次出现的前后为空白字符或标点符号)。

    例如,查找foo barfoo,只要将光标放在foo单词任一字符上,既可以被匹配到。

    替换

    在命令模式下

    s 用来查找和替换字符串,语法如下::{作用范围}s/{目标}/{新替换}/{替换标志}

    例如:%s/foo/bar/g会在全局范围(%)查找foo并替换为bar,所有出现的都会被替换(g)。

    • 范围:主要包括当前行、全文、选区。

      • 当前行:s/foo/bar/g

      • 全文:%s/foo/bar/g

      • 选取:在visual模式下(按v建进入visual模式)选择区域后输入:,vim既可以自动补全为:'<,'>。然后在后面继续输入s/foo/bar/即可

      ​ 如:'<,'>s/foo/bar/g

      • 固定行:如将45-62行的void改为VOID,45,62s/void/VOID/g

      • 当前行到接下来的n行:如将当前光标到接下来的15行的VOID改为void,.,+5s/VOID/void/g

    • 替换标志:上文中的/g表示全局替换(globe),还有一些其他的替换标志。

      空替换标志 表示只从光标处开始出现的第一次的替换:%s/foo/bar

      i 表示大小写不敏感,%s/foo/bar/i

      I 表示大小写敏感,%s/foo/bar/I

      c 表示需要确认,例如全局查找foo替换为bar时,需要确认,%s/foo/bar/gc,回车后Vim会将光标移动到每一次"foo"出现的位置,并提示replace with bar (y/n/a/q/l/^E/^Y)?按下y表示替换,n表示不替换,a表示替换所有,q表示退出查找模式, l表示替换当前位置并退出。

    光标移动快捷键

    hjkl 左下上右键

    注:当 Bill Joy 创建 Vi 文本编辑器时,他使用的机器机器是 ADM-3A 终端机,这机器就是把 HJKL 键作为方向键。自然而然,Bill Joy 也就用了相同的按键了。

    直接按:

    fa 向后移动到字符a处

    Fa 向前移动到字符a处

    2w 向后移动两个word

    2b 向前移动两个word

    gg 移动到文本开头处

    G 移动到文本结束处

    :123 移动到第123行

    快捷键图

    待补充...

    推荐更多Vim相关内容:

  • 相关阅读:
    关于数据库,程序员应该了解的那些事
    Kafka实战宝典:如何跨机房传输数据
    数据挖掘从入门到放弃(三):朴素贝叶斯
    面试官:数据库自增ID用完了会怎么样?
    《我想进大厂》之网络篇夺命连环12问
    面试官:缓存一致性问题怎么解决?
    空指针的传说
    淘宝|蚂蚁|菜鸟|盒马|嘀嘀|饿了么面经(已拿多个offer)
    苦修月余,斩获bigo、腾讯offer,面经奉上!
    《我想进大厂》之Spring夺命连环10问
  • 原文地址:https://www.cnblogs.com/WindSun/p/12780694.html
Copyright © 2020-2023  润新知