关于vim:oeasy教您玩转vim-38-配合移动

38次阅读

共计 2788 个字符,预计需要花费 7 分钟才能阅读完成。

疾速删除

回顾上节课内容🤔

  • 以前晓得能够在插入状态下应用 del退格 进行删除
  • 当初晓得了默认状态下应用通过 x 删除字符

    • 能够在 x 后面应用 [count] 进行翻倍

      • 10x
      • 删除的字符存储在 "" 寄存器中
      • 能够用 :reg 查看寄存器状态
  • 默认状态能够应用 X 退格

    • 删除的字符也在 "" 寄存器中
  • 咱们把握了在 vi 中删除字符的各种办法
  • 前面还有啥呢?🤔

删除字符

  • 咱们发现 dd 能够删除一行
  • 试一试?!🤪

删除的内容

  • 删除的货色放到哪里呢?:reg

  • 就放在默认寄存器 "" 外面
  • 还能够加 [count] 进行翻倍
  • 5dd 能够删除 5 行,删除之后,依然把被删除的内容放到了 "" 寄存器
  • 那这个 d{motion} 是什么意思呢?

静止帮忙

  • 咱们能够查问 motion 的文档呀!!!
  • h motion
  • motion 就是光标静止
  • 比方咱们 G 就间接到文档最初一行

    • dG 就是从光标以后地位删除到最初一行,太爽了!🤪
  • gg 是到最开始的一行

    • dgg 就是从光标地位到最开始都删除掉了!!!
  • ggdG 就是从头删到尾
  • 8G 就是到第 8 行

    • d8G 就是从光标地位到第 8 行都删除
    • 如果总共只有 4 行,怎么办?
    • 如果总共 4 行,8G就是道最初一行
    • 所以,此时 d8G 就是什么,你懂的?
  • 试一试🤪

上下左右

  • 光标静止的形式是 hjkl
  • 这些都是 motion

  • 如果后面是 d
  • 比方 dj

    • d 代表删除
    • j 挪动到下一行
    • dj 代表从以后光标行删除到下一行
    • 总共删除两行
  • 比方 dl

    • 删除以后光标字符
    • 也就是 x
  • 比方 dh

    • 删除以后光标后面的字符
    • 退格
    • 也就是 X

翻倍因素

  • 如果 d8j

    • d 就是删除
    • 8j 从以后光标地位到往下的 8
    • d8j 所到之处都删了
  • 同样的 d7k
  • d 是删除
  • 7k 是往上 7 行
  • 连同以后行总共 8 行
  • 这范畴里都删了
  • 思考一下

    • d8hd4l 别离是干什么?🤔

按单词删

  • wbe 还记得是什么意思么?

    • 不记得的话,就 h w
  • 如果光标在词头的话

    • w 是到下一个 word 的结尾
    • b 是到上一个 word 的结尾
    • e 是到以后 word 的结尾

练习

  • 所以咱们晓得

    • dw 是从以后地位删除到下一个 word 的结尾(删除包含两头的空格)
    • d3w 是从以后地位删除到下 3 个 word 的结尾
    • 3dw 是从以后地位做 3dw
    • 3d2w 是把 d2w3
    • de 是从以后地位删除到以后 word 的结尾(不删除空格)
    • d4e 是从以后地位删除到下 4 个 word 的结尾(包含以后单词)
    • db 是删除后面的 word
    • d2b 是后面 2 个 word
  • 以上是以后光标在词头的状况
  • 如果以后光标在词中?

光标在词中

  • 如果光标在词中的话

    • w 是到下一个 word 的结尾
    • b 是到以后 word 的结尾
    • e 是到以后 word 的结尾

  • 挪动到那里就删到哪里!
  • b 是保留以后光标字符往前删的
  • 这个还得留神 wordWORD 的区别

大词小词

  • 大小词定义

    • word包含空格和各种标点作为分隔符
    • WORD只有空格被认作宰割符
    • 比方text-indent

      • 就是 3 个 word
      • 也是 1 个 WORD
    • dW 就能够间接删除这个,这个很不便,尤其标识符外面有很多下划线的状况
  • 说出大天也没有用,这个就得入手练!👊

行头行尾

  • 行头

    • ^ 是到本行第一个非空字符
    • 0 是到本行第一个字符,不论是不是空格
  • 行尾

    • $ 跳到本行最初一个字符,即便他是空格
    • g_ 是到本行最初一个非空字符
    • 两个按键要顺次按下
    • 如果忘了就要 :h 查问一下
  • 删除呢?

    • d^ 就是删除到本行第一个非空字符, 以后字符保留
    • d0 就是从以后地位删除到本行第一个字符(不论他是否是空格), 以后字符还是保留着
    • 2d^ 就是将 d^ 执行 2 遍, 其实和执行一遍没有区别,还是删一行
    • d2^ 就是 d2^d^,其实一样的,还是删一行
    • d $ 从光标删除到行尾,包含光标所在的以后字符
  • d $ 还有一种做法D

删到行尾

  • :h D

  • D 自身就是 d $
  • 定位的办法还有行内查找

行内查找

  • 通过 fo 间接就跳到了左边的 o 字符
  • dfo 就是从以后地位 dfo 的地位

    • fo 的地位就是从以后地位向前 f 到的第 1o 的地位
    • 光标以后字符也删除
  • d2fo 就是从以后地位 d2fo 的地位

    • fo 的地位就是从以后地位向前 f 到的第 2o 的地位
  • 2dfo 就是将 dfo 执行 2

    • dfo 就是从以后地位 dfo 的地位
    • fo 的地位就是从以后地位向前 f 到的第 1o 的地位
  • 这两个后果其实一样

反向查找

  • 反向查找的话是 F

  • dFo 是从以后地位删除到 Fo 的地位

    • Fo 的地位是从以后地位反向查找 F1o 的地位
    • 以后光标所在字符保留
  • dF2o 的地位是从以后地位删除到 F2o 的地位

    • F2o 的地位是从以后地位反向查找 F2o 的地位
    • 以后字符保留
  • 2dFo 就是将 dFo 执行 2

    • dFo 就是从以后地位 dFo 的地位
    • Fo 的地位就是从以后地位反向查找 F 到的第 1o 的地位

配合反复

  • . 能够反复上次操作
  • 如上图的 df>
  • . 就是再执行 df> 一次
  • 能够在 oeasy.java 外面练习一下👊

行内贴靠

  • 除了 f 之外咱们还有 t
  • f e 是把光标挪动到 e 下面

    • 是跳转到
  • t e 是把光标挪动到 e 之前的字符下面

    • 是贴靠到

  • dt( 是指从以后地位删除到 t(

    • t( 是指贴靠到 (
    • t谁就是要贴靠到谁
  • 这个能够翻倍吗?

贴靠翻倍

  • 能够!
  • 这个也能够通过 [count] 翻倍
  • 2 to
  • till 第 2 个 o

  • d2to 能够删除到 红色的 l
  • d3to 能够删除到 紫色的 w
  • 岂但能够翻倍
  • 而且能够反复.
  • 间隔看不清的时候就用.

跳跃和贴靠

  • f 相干的是跳跃

    • 跳跃是f
    • 跳跃是F
  • t 相干的是贴靠

    • 贴靠是 t
    • 贴靠是 T
  • 小写 相干的是 向前

    • 向前 跳跃是 f
    • 向前 贴靠是 t
  • 大写 相干的是 向后

    • 向后 跳跃是 F
    • 向后 贴靠是 T

全文查找

  • 全文查找的两个命令是 /?
  • d/Code 如何执行?

    • 摁下 d,留神状态栏
    • /而后状态栏只显示 /
    • 输出 Code 留神状态栏
    • 文中查找 Code 并且高亮显示
    • 摁下 回车 把从以后光标始终到高亮显示的 Code 的地位
  • 反向查找的话就是 ?
  • 能够加翻倍 [count] 吗?

    • 能够的 3d/Code
  • 而且能够 . 反复查找删除
  • 入手试一下!!!👊

文本区块

  • 应用 {、},让光标前后挪动段落
  • 应用(、),让光标前后挪动句子
  • 能够应用 [count] 翻倍
  • :h } 来查看文档

  • 这些也是 motion 能够和 d 配合
  • 比方 d{d3)

总结

  • 咱们大幅度地温习了整个 motion
  • 间接静止

    • h j k l
  • 行静止

    • 首行g g
    • 末行G
    • 第 n 行n G
  • 单词静止 wbe

    • w 是到下一个 word 的结尾
    • b 是到以后 word 的结尾
    • e 是到以后 word 的结尾
    • 除了 word 之外还有 WORD
  • 行头行尾

    • ^ 是到本行第一个非空字符
    • 0 是到本行第一个字符,不论是不是空格
    • g_ 是到本行最初一个非空字符
    • $ 跳到本行最初一个字符,即便他是空格
  • 行内跳跃和贴靠

    • 跳跃是f
    • 跳跃是F
    • 贴靠是t
    • 贴靠是T
  • 全文查找

    • 查找的话就是 /
    • 反向查找的话就是 ?
  • 文本区块

    • {} 按段落挪动
    • () 按句子挪动
  • 这些 motion 都能够 d配合应用,实现疾速删除的工作
  • 过程中还能够应用 [count] 进行翻倍
  • 删除的内容,放在 "" 寄存器中
  • 能够配合反复.
  • 那这个货色删了
  • 放在寄存器里
  • 我想粘贴到别的中央
  • 怎么办呢?🤔
  • 下次再说 👋

[Github 地址] (https://github.com/overmind19…)
[Gitee 地址] (https://gitee.com/overmind198…)
[蓝桥实验楼 邀请码 FJWYIMGB] (https://www.lanqiao.cn/course…)

正文完
 0