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为行号)

重复操作

  • .:重复执行上一步操作
普通模式命令速查:

        . :   重复上次修改

        x: 删除光标下的字符,这种情况下可使用. 来重复修改 

        u:    撤销上次操作。

        >G:  增加从当前行到文档末尾处的缩进等级。

        0:    移动到行首

        $:     移动到当前行末尾

        a:     在当前光标之后添加内容

        A:     跳转到当前行末尾添加内容

        db:   删除当前字符前的一个词,会留下当前的字符

        dw:   删除当前字符后的一个词

        daw: 删除整个单词

        d2w: 删除2个单词

        gu: 转小写

        gU: 转大写

        >:    增加锁进

        <:    减小缩进

        yy:   拷贝一行到寄存器

        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键就可全部取消注释

可视模式:(选中一块文本区域)

        v:  选中可视范围(字符)

        V: 选中可视范围(行)

        gv: 重选上次的高亮区域

        o: 切换高亮活动端(用于调整高亮边界)

        常见用法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        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值