• 通过十进制的 ascii 值输入字符

    • 在输入模式下
    • 输入 ctrl + v
    • 然后再输入 065
  • 通过十六进制的 unicode

    • 在输入模式下
    • 输入 ctrl + v
    • 然后再输入 u2642 就可以通过 uncode 编码输入字符
  • 通过二合字符的方式插入

    • 在输入模式下
    • 输入 ctrl + k
    • 输入 Co 可以得到
    • 输入 13 可以得到 ⅓
    • :digraphs 查看二合字符列表
  • 寄存器计算

    • 在插入状态下
    • 输入 ctrl + r
    • 输入 =3+3(注意要有 =
    • 得到结果 6
  • 我们掌握了在 vi 中插入字符的各种方法
  • 如何 vim 可以删除字符吗?

删除字符

  • 我们应该如何删除字符呢?
  • 如果是插入状态下 del 、BackSpace 就可以删除了
  • 那假如我不想切换到插入模式,我想在普通模式下就直接删除呢?
  • :h delete 找到在 change.txt 里面有个 delete
  • 从默认的帮助位置,向上翻,翻到头

  • 这个命令叫做 x
  • 我理解就是 execute 处死当前字符
  • 我们先在终端里面 ls -lah > 1.txt
  • 然后 vi 1.txt

删除当前 x

  • 在正常状态下,使用 x,删除当前字符
  • 效果和 插入模式下 BackSpace 一样
  • 尽量用x 而不用 BackSpace,因为:

      1. 正常模式移动迅速
      1. 用x 手指不离开键盘核心区
      1. 体会左右无名指,他会给你带来药师的灵感
  • 如果想要删除多个字符的话
  • 就在前面加上数字
  • 比如 10x 就是删除 10 个字符
  • 对应帮助中的 [count]
  • 而且删除了的字符,会放到寄存器 ""
  • 可以使用 :reg 查看寄存器

退格删除 X

  • 帮助手册里,在 x 后面还有个 X
  • X 的意思是 向前退格
  • 使用 h X 查询手册

  • 最新删除的字符仍然放在 "" 寄存器里面
  • 其实就像 BackSpace 效果一样
  • 只不过在摁像 x 顺手了之后,像 Shift+x 也很方便
  • 而且前后都能删
  • 下面这个就更厉害了

退格删词

  • 搜索插入模式下的 CTRL + w
  • :h i_CTRL-w

    • :h是查询帮助
    • 查询谁的帮助呢?

      • i_CTRL-w
  • i_CTRL-w什么意思呢?

    • i代表insert插入模式
    • CTRL-w代表CTRL+w
  • 要注意小写w

具体操作

  • 注意模式是插入模式

  • CTRL+w之后

  • 再CTRL+w之后

  • 再 CTRL + w 之后

  • 彻底删到头儿了
  • 可以切回到正常模式试试 db
  • u回来
  • 再试试 d^

两行连在一起

  • 想要把两行 Join 连接在一起?

    • 我们原来用的是插入模式下的BackSpace
  • 现在试试 J(大写J)
  • 这是一个正常模式下的命令

    • 光标在上一行的任何位置
    • 命令模式下按下J(大写J)
    • 下一行和上一行连接在一起

      • 然后下一行的缩进消失
      • 和上一行之间有个空格

总结

  • 以前知道可以在插入状态下使用 del 、BackSpace 进行删除
  • 现在知道了默认状态下使用通过 x 删除字符

    • 可以在 x 前面使用 [count] 进行翻倍

      • 10x
    • 删除的字符存储在 "" 寄存器中

      • 可以用 :reg 查看寄存器状态
  • 默认状态可以使用 X 退格

    • 删除的字符也在 "" 寄存器中
  • 我们掌握了在 vi 中删除字符的各种方法
  • 还有没有更快速删除字符的方法呢?
  • 下次再说

[Github地址] (https://github.com/overmind1980/vimtutorial)

[Gitee地址] (https://gitee.com/overmind1980/vimtutorial)

[蓝桥实验楼 邀请码FJWYIMGB] (https://www.lanqiao.cn/courses/2840)

oeasy教您玩转vim - 37 - # 删除字符的更多相关文章

  1. oeasy教您玩转vim - 56 - # 字符可视化模式

    ​ 可视化编辑 回忆上节课内容 我们学习了关于模式匹配中使用参数 单个参数 :%s/<h2>\(.*\)</h2>/ - \1/g 多个参数 :%s/<img src=\ ...

  2. oeasy教您玩转vim - 57 - # 行可视化

    ​ 可视化编辑 回忆上节课内容 上次我们了解到可视模式 其实可视化对应三种子模式 字符可视模式 v 行可视模式 大写V 块可视模式ctrl+v 我们先来了解字符可视化模式 快捷键 v 可配合各种mot ...

  3. oeasy教您玩转vim - 53 - # 批量替换

    查找细节 回忆上节课内容 我们温习了关于搜索的相关内容 /正向,?反向 n保持方向,N改变方向 可以设置 是否忽略大写小写 是否从头开始查找 是否高亮显示 还有一些正则表达式的使用方法 行头行尾 ^$ ...

  4. NAT模式下Debian无法上网和VIM无法删除字符的处理方法

    NAT模式下Debian无法上网的处理方法 处理方法共分为二种 检测 VM 的 NAT 服务有无开启 查看虚拟机的网络信息设置是否正确 检测 VM 的 NAT 服务有无开启 win+R 输入 serv ...

  5. oeasy教您玩转linux010203显示logo

    我们来回顾一下 上一部分我们都讲了什么?

  6. oeasy 教您玩转linux010101查看内核uname

    linux([?l?n?ks]) 是什么????? 咱们这次讲点什么呢?这次咱们讲讲这个 linux([?l?n?ks]),什么是 linux([?l?n?ks])呢?这linux([?l?n?ks] ...

  7. oeasy教您玩转linux010202软件包管理apt

    顾一下 上一部分我们都讲了什么?

  8. oeasy教您玩转linux010201持续输出yes

    我们来回顾一下 上一部分我们都讲了什么?

  9. oeasy教您玩转linux-010110内容回顾

    我们来回顾一下 我们都讲了什么?

  10. oeasy教您玩转linux010108到底哪个which

    到底哪个which 回忆上次内容 我们上次讲了查找命令位置whereis 我想找到whereis的位置怎么办?

随机推荐

  1. 安卓开发封装处理Retrofit协程请求中的异常

    上篇文章讲解了怎么使用Kotlin的协程配合Retrofit发起网络请求,使用也是非常方便,但是在处理请求异常还不是很人性化.这篇文章,我们将处理异常的代码进行封装,以便对异常情况返回给页面,提供更加 ...

  2. Swoole 实践篇之结合 WebRTC 实现音视频实时通信方案

    原文首发链接:Swoole 实践篇之结合 WebRTC 实现音视频实时通信方案 大家好,我是码农先森. 引言 这次实现音视频实时通信的方案是基于 WebRTC 技术的,它是一种点对点的通信技术,通过浏 ...

  3. TS码流解析(三)PES

    我们常说的音视频数据流在TS中被称为Elementary Stream(ES),也称为原始码流(裸流).ES流本身不含有传输所需的所有信息,为了在传输过程中同时携带PTS(Presentation T ...

  4. CH57x/CH58x/CH59x获取从机广播信息

    有时需要通过主机设备(MCU非手机)获取从设备的广播信息例如广播包,MAC地址,扫描应答包等 以下的程序片段及功能实现是在WCH的CH59X的observer例程上实现的: 1.获取广播包 所有的函数 ...

  5. Windows 11提示“无法枚举容器中的对象。”

    *为什么会出现这一错误提示?* 在Windows系统当中,对文件或文件夹的权限进行设置可以有效地保护隐私内容.登录管理员账户可以对权限进行更改,并且有权决定是否将内容共享给多个用户使用.但是在某些情况 ...

  6. MySQL学习笔记-事务

    事务 事务:是一组操作的集合,是一个不可分割的工作单位,事务会把所有操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败(当操作中某一步出现异常时,前面已执行的步骤也会失 ...

  7. itestwork(爱测试)开源一站式接口测试&敏捷测试工作站 9.0.0 GA 发布,重大升级

    (一)itest 简介 itest work (爱测试)  一站式工作站让测试变得简单.敏捷.itest work 包含极简的任务管理,测试管理,缺陷管理,测试环境管理,接口测试,接口Mock 6合1 ...

  8. Kubernetes监控手册05-监控Kubelet

    上一篇我们介绍了如何监控Kube-Proxy,Kube-Proxy的/metrics接口没有认证,相对比较容易,这一篇我们介绍一下Kubelet,Kubelet的监控相比Kube-Proxy增加了认证 ...

  9. Azure Storage Blob 启用sftp协议支持

    背景 我这边需要给前端同学一个上传静态文件的地方,比如js.css.图片.icons等等,前端上传后直接在项目中:我这边用的是Azure Storage blob:为了单独分配权限,我这边打算启用SF ...

  10. iOS开发流程总结(新坑持续更新)

    [上线前流程] 将测试环境修改成正式环境 修改版本号,而且build version比version多一位,如version设置为1.0.1,那么build就设置成1.0.1.x:这么做的理由是,当你 ...