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

[Gitee地址] (overmind1980/oeasyvim)

[蓝桥实验楼 邀请码FJWYIMGB] (oeasy 教您零基础玩转编辑神器 Vim_Linux - 蓝桥云课)

可视化编辑

回忆上节课内容

  • 上次了解到块可视模式

    -ctrl+v

    • 左下角-- 可视 块 --
    • 然后配合motion
    • o切换首尾
    • 这个块可以有四个顶点
    • O横向切换
  • 可以在选区内进行编辑和替换

    • 可以直接d、c、y
    • 或者D、C、Y
    • 也可以直接编辑

      • :'<,'>d
      • :'<,'>s/shiyanlou/oeasy/g 范围内批量替换
  • 可以在块·可视化模式下替换

    • :'<,'>s/\%Vg/graphic/g
    • '<,'>表示范围
    • s表示substitute
    • \%V表示在块内
  • 文本编辑终于告一段落
  • 这次来总结总结

基本模式

  • 我们现在了解到有5种模式

    • 默认模式 也叫正常模式 这是基础
    • 想要从别的模式回到正常模式

      • ctrl+c
      • esc
    • 从正常模式到命令行模式

      • :
    • 从正常模式到插入模式者

      • i 前插
      • I 最前插
      • a 后插
      • A 最后插
      • o 下面插一新行
      • O 上面插一新行
    • 从正常模式到替换模式

      • R
    • 从正常模式到可视模式,分成三种

      • v 字符可视
      • V 行·可视
      • ctrl+ v 块·可视

基本编辑

  • 基本的编辑是基本操作+基本运动
  • 常用的基本操作都是动作

    • 小写操作的是{range}
    • 大写操作的是行
  • 具体命令

    • 删除

      • d、D
      • x、X
    • 复制

      • y
    • 粘贴

      • p、P
    • 剪切并切换到插入模式

      • c、C
  • 基本运动都是方向

    • 首行g g 、末行G 、第n行n G
    • 光标运动的方式是h j k l
    • 这些方向都可以加上[count]翻倍
    • 单词运动wbe

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

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

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

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

      • {、}按段落移动
      • (、)按句子移动
  • 以in为范围的操作

    • ciw
    • dit
    • yib
    • di"

命令行模式

  • 可以进行基本编辑

    • 在:下可以运行命令
    • d、D、x、X
    • 可以在前面加上range

      • :3,6d
  • 可以操作文件 (读、写、编辑)

    • :3,5w oeasy.txt
    • :1,3r oeasy.txt
    • :3,9w oeasy.txt
    • :3,9w oeasy.txt >>
    • :e .
  • 查找

    • /oeasy
    • /^a.*b$ a开头b结束的行
    • /\<a.*b\> a开头b结束的单词
  • 替换

    • :%s/shiyanlou/oeasy/gc
    • :3,9s/\<a.*b\>//gc 3-9行中a开头b结束的单词都删除
    • :g/oeasy/d带oeasy的都删除

可视化模式

  • 可视模式的首尾切换

    • o
    • O
  • 可以用in的方式制作选择范围

    • vit
    • vi}
    • vib
  • 总共有三种可视化模式

    • 字符可视化
    • 行·可视化
    • 块·可视化
  • 可以在选区里面进行编辑操作

    • d、c、y、p
    • 还可以进行替换
    • 也可以在命令模式下对范围进行操作

      • :'<,'>d

插入题头

  • :r !ls -lah
  • 使用命令:2,15normal I001.

    • 注意是001,而不是1
  • ctrl+v选中3-5行的开头字符
  • g之后ctrl+a
  • 1111变成1234

总结

  • 包括5种模式

    • 正常、插入、命令行、可视化、替换
  • 许多编辑命令

    • d、c、y、p
  • 编辑命令可以配合motionin
  • 文本可以进行搜索和替换
  • 基本就这些吧!!!‍♂️

    • 真是全面地大总结啊
    • 可以在终端里面玩开了
  • shell 下 运行 vimtutor zh

    • 看看自己多久能够通关
    • 这是一个重大的关卡
    • 做完了之后
  • 我们继续向前

oeasy教您玩转vim - 59 - # 编辑总结的更多相关文章

  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. oeasy教您玩转linux010203显示logo

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

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

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

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

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

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

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

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

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

  9. oeasy教您玩转python - 006 - # hello world

    ​ Hello World! 回忆上次内容 python3 的程序是一个 5.3M 的可执行文件 python3 里面全都是 cpu 指令 可以执行的那种指令 我们可以把指令对应的汇编找到 objdu ...

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

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

随机推荐

  1. 保姆教程系列:Git 实用命令详解

    !!!是的没错,胖友们,保姆教程系列又更新了!!! @ 目录 前言 1.将本地项目推送到远程仓库 2. Idea Git回退到某个历史版本 3. 修改项目关联远程地址方法 4. Git 修改分支的名称 ...

  2. Instsrv.exe 与 Srvany.exe 安装Windows服务

    原理:Instsrv.exe可以给系统安装和删除服务 Srvany.exe可以让exe程序以服务的方式运行(Srvany只是exe注册程序的服务外壳,可以通过它让我们的程序以SYSTEM账户活动,随电 ...

  3. vue绑定对象,绑定的值不改变的问题

    在使用vue结合elmentui的table组件,对数组绑定,需要编辑数组里一些属性的值.我的情况是,需要在打开这个表时,根据条件插入一些对象到table里,经测试,到这里是没问题的,可以显示新插入的 ...

  4. 记录一次HTTPS无法访问的错误

    Https无法连接Nginx,日志报错 *2179 SSL_do_handshake() failed (SSL: error:1420918C:SSL routines:tls_early_post ...

  5. .NET桌面程序混合开发之四:键盘事件的响应

    1. 问题 在生产环境中,有一些场景需要窗体来响应键盘事件(注意,是窗体响应,而不是窗体上的控件响应),如解析扫码枪的扫描结果.但在嵌入WebView2的Form程序,Host Form无法对键盘事件 ...

  6. React 的 KeepAlive 探索

    什么是 KeepAlive? 用过 Vue 的童鞋都知道 Vue 官方自带了 Keep-Alive 组件,它能够使组件在切换时仍能保留原有的状态信息,并且有专门的生命周期方便去做额外的处理.该组件在很 ...

  7. YNOI 做题记

    YNOI 做题记 偶然有一天做到了其中的一道题,于是便开始做相关的题了-- [Ynoi2015] 我回来了 - 洛谷 这之一场联考搬过来的题--于是考场上写了一个 \(O((n + m)\log^2 ...

  8. LeetCode 682. Baseball Game 棒球比赛(C++/Java)

    题目: You're now a baseball game point recorder. Given a list of strings, each string can be one of th ...

  9. ABC319题解

    直接从 D 开始了. D 可可爱爱的二分捏. check 就按照题目里写的就行了. 然后 \(l\) 的初值要注意一下,就是 \(\max^{i \le n}_{i=1}a_i\). 代码: #inc ...

  10. Easysearch 内核完善之 OOM 内存溢出优化案例一则

    最近某客户在使用 Easysearch 做聚合时,报出 OOM 导致掉节点的问题,当时直接让客户试着调整 indices.breaker.request.limit ,但是不起作用,于是又看了下 Ea ...