oeasy教您玩转vim - 37 - # 删除字符

Posted overmind1980

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oeasy教您玩转vim - 37 - # 删除字符相关的知识,希望对你有一定的参考价值。

删除字符

回忆上节课内容????

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

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

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

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

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

删除字符

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

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

删除当前 x

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

退格删除 X

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

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

退格删词

  • 搜索插入模式下的 <kbd>CTRL</kbd> + <kbd>w</kbd>
  • :h i_CTRL-w
    • :h是查询帮助
    • 查询谁的帮助呢?
    • i_CTRL-w
  • i_CTRL-w什么意思呢?
    • i代表insert插入模式
    • CTRL-w代表<kbd>CTRL</kbd>+<kbd>w</kbd>
  • 要注意小写w

具体操作

  • 注意模式是插入模式

  • <kbd>CTRL</kbd>+<kbd>w</kbd>之后

  • 再<kbd>CTRL</kbd>+<kbd>w</kbd>之后

  • 再 <kbd>CTRL</kbd> + <kbd>w</kbd> 之后

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

两行连在一起

  • 想要把两行 Join 连接在一起?
    • 我们原来用的是插入模式下的<kbd>BackSpace</kbd>
  • 现在试试 <kbd>J</kbd>(大写J)
  • 这是一个正常模式下的命令
    • 光标在上一行的任何位置
    • 命令模式下按下<kbd>J</kbd>(大写J)
    • 下一行和上一行连接在一起
    • 然后下一行的缩进消失
    • 和上一行之间有个空格

总结

  • 以前知道可以在插入状态下使用 <kbd>del</kbd> 、<kbd>BackSpace</kbd> 进行删除
  • 现在知道了默认状态下使用通过 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 - # 删除字符的主要内容,如果未能解决你的问题,请参考以下文章

oeasy教您玩转vim - 85 - # 全局命令

oeasy教您玩转vim - 70 - # 折叠细节

oeasy教您玩转vim - 42 - # 剪切进入

oeasy教您玩转vim - 43 - # 替换模式

oeasy教您玩转vim - 49 - # 命令进阶

oeasy教您玩转vim - 51 - # 读写文件