• vim常用命令记录


    序言:最近在编辑器里开启了vim模式,感觉很过瘾,但是还是不是很熟练,这里开个新坑记录下常用的命令

    1. vim介绍:

    Vim(Vi IMproved)是一款文本编辑器,它是从早期的Unix文本编辑器Vi发展而来的。Vim在功能上比Vi更强大,并添加了许多新特性和改进。它被广泛用于命令行界面和终端环境下的文本编辑,且具有高度可定制性和强大的编辑功能,可以处理各种编程语言和文件格式

    Vim中常见的四种模式

    • normal:普通模式
    • visual:可视化模式
    • insert:编辑模式
    • command:命令行模式
    1.1 Normal模式

    这是默认的启动模式。在普通模式下,你可以输入各种编辑器命令来执行操作,例如移动光标、复制粘贴、删除文本等。也可以使用快捷键和命令来操作文本文件,但不能直接输入或编辑文本内容。

    • esc:从其他模式返回到normal模式(试着将esc映射到不常用的大写键,用shift+字母的方式进行大写的输出,这样操作起来效率会更高,方法可以看下面3.2
    光标移动

    早期的计算机键盘上没有上下左右按键,也没有鼠标,所以使用键盘来进行光标移动是必然的选择。为了方便终端用户进行编辑,vi选择了h、j、k和l作为光标移动键。

    • h/j/k/l:左/下/上/右移动
    • 0:跳转到行首
    • %:当光标处于左括号时,移动到匹配的右括号
    • b/w:以单词为单位左/右移动
    屏幕滚动
    • ctrl+d:向下翻页
    • ctrl+u:向上翻页
    • ctrl+e:窗口向下滚动一行
    • ctrl+y:窗口向上滚动一行
    文本搜索

    默认情况下,模糊查找是区分大小写的(Case Sensitive)。可以通过:set smartcase来设置不区分大小写的搜索,这个操作是接下来我们将要介绍的命令模式下的操作。

    /:开启模糊查找

    • n:查找下一个
    • N:查找上一个
    • f:点击后再按下任何一个字符,在当前行中,可以移动到当前位置开始匹配的第一个字符
    编辑文本
    • y:复制当前字符
    • yy:复制当前行
    • d:剪切当前字符
    • dd:剪切当前行
    • p:在当前行的下一行粘贴
    • P:在当前行的上一行粘贴
    • x:删除选中的字符
    • r:输入一个字符可以替换掉当前字符
    编辑文本(进阶)

    将上述编辑操作组合起来,可以归纳为[count] [operation] [motion]。其中count指的是想要执行操作的次数,operation指的是操作类型,motion指的是操作的执行动作,比如i"表示在引号中执行操作。

    • da:(Delete Around)。移动到括号或者引号中间,先按下da,紧接着再按下"或者(,即可将中间的内容,包括括号也全部删除
    • di:(Delete Inside)。跟上一个命令的区别在于不删除外侧的括号
    • 相应地也可以这样组合va(vi"ci"等等
    光标跳转
    • ctrl+]:跳转函数
    • ctrl+o:返回到上一次光标处
    • ctrl+i:前进道上一次光标处
    撤销重做操作
    • u:回退
    • ctrl+r:撤销回退
    行号跳转
    • gg:跳转到行首
    • G:跳转到行尾
    • ngg:跳转到指定行(n为行号)
    • 在接下来将要介绍的命令行模式中,也可以通过:n来跳到指定行(n为行号)

    重复操作

    • .:重复执行上一步操作
    1. 普通模式命令速查:
    2.         . :   重复上次修改
    3.         x: 删除光标下的字符,这种情况下可使用. 来重复修改 
    4.         u:    撤销上次操作。
    5.         >G:  增加从当前行到文档末尾处的缩进等级。
    6.         0:    移动到行首
    7.         $:     移动到当前行末尾
    8.         a:     在当前光标之后添加内容
    9.         A:     跳转到当前行末尾添加内容
    10.         db:   删除当前字符前的一个词,会留下当前的字符
    11.         dw:   删除当前字符后的一个词
    12.         daw: 删除整个单词
    13.         d2w: 删除2个单词
    14.         gu: 转小写
    15. gU: 转大写
    16.         >:    增加锁进
    17.         <:    减小缩进
    18.         yy:   拷贝一行到寄存器
    19.         p:     贴上
    1.2 Insert模式

    在普通模式下按下i键进入插入模式。在插入模式中,你可以直接键入文本内容,就像在其他常见文本编辑器中一样,可以自由地添加、修改和删除文本。

    插入文本
    • i:当前位置编辑
    • I:跳转到行首编辑
    • A:跳转到行尾编辑
    • o:在当前行的下一行另起一行编辑
    • O:在当前行的上一行另起一行编辑
    1.3 Visual模式

    在普通模式下,按下v键可以进入可视模式。在可视模式下,你可以通过移动光标选择文本块,然后对所选文本执行操作,如复制、删除、替换等。可视模式非常有用,可以方便地对文本进行批量操作。

    文本选择

    • v:进入visual模式并选中当前字符
    • shift+v:进入visual模式并选中整行
      • 进一步可以通过shift+>shift+<进行缩进,也可以执行复制/剪切/删除操作
    • ctrl+v:进入visual模式并选中当前字符并按列选中

    利用列操作可以便捷处理多行写入

    1. 多行注释
    进入命令行模式,按ctrl + v进入 visual block模式(可视快模式),然后按j, 或者k选中多行,把需要注释的行标记起来

    按大写字母i,再插入注释符,例如//

    按esc键就会全部注释了

    2. 取消多行注释:
    进入命令行模式,按ctrl + v进入 visual block模式(可视快模式),按小写字母L横向选中列的个数,例如 // 需要选中2列

    按字母j,或者k选中注释符号

    按d键或x键就可全部取消注释

    1. 可视模式:(选中一块文本区域)
    2.         v:  选中可视范围(字符)
    3.         V: 选中可视范围(行)
    4.         gv: 重选上次的高亮区域
    5.         o: 切换高亮活动端(用于调整高亮边界)
    6.         常见用法1: 高亮选中多行,然后锁进     v 然后><
    1.4 Command模式

    在普通模式下,按下:键可以进入命令模式。命令模式允许你在底部输入各种命令,例如保存文件、退出编辑器、执行外部命令等,在命令行中输入命令并按下回车键来执行操作

    • :q退出
    • :w保存
    • :x/:wq保存并退出

    2. 使用vim经常会遇到的一些问题

    3.1. esc 键盘太远了!

    解决方法:

    将esc健改成其他键。我这里是在mac下修改,很简单使用原生功能就行了

    3.2. 中英文切换的问题

      这里笔者主要是在idea里使用vim(很简单安装IdeaVim这个插件就可以了),但是光安装这个插件的话,经常会在聊天软件&开发工具切换时候遇到一个中英文输入的问题,很让人头疼。解决办法是安装 IdeaVimExtension 插件【前提,已经安装好 IdeaVim 插件了】

    安装完成后直接将`set keep-english-in-normal[-and-restore-in-insert]`加入到`~/.ideavimrc`文件中并重启IDE来启用插件功能。就可以实现自动切换了,很舒服。

    下面是一个vim小游戏

    Learn VIM while playing a game - VIM Adventures        

  • 相关阅读:
    Linux安装frp并实现内网穿透
    [ROS系列]ubuntu 20.04 从零配置orbslam3(无坑版)
    踩坑记录(10-更新中)
    [数据结构]~栈和队列(0-1)
    入行3D建模难不难学习?10年建模师:这3种人,一辈子都学不会
    【数据结构与算法】第1章 绪论 算法的概念
    service worker实现静态资源缓存
    常用设计模式——策略模式
    【STM32】标准库-FMC-SDRAM
    C++ 多线程学习笔记
  • 原文地址:https://blog.csdn.net/u012871914/article/details/127913047