可视化编辑

回忆上节课内容

  • 上次我们了解到可视模式
  • 其实可视化对应三种子模式

    • 字符可视模式 v
    • 行可视模式 大写V
    • 块可视模式ctrl+v
  • 我们先来了解字符可视化模式

    • 快捷键 v
    • 可配合各种motion
    • o切换首尾
  • 快速操作

    • 选中了之后可以进行以下操作

      • d
      • c
      • y
    • 可以用"a使用指定寄存器
  • 可以用ia快速选择范围

    • w 小词 W 大词
    • ()[] {} 各种括号
    • t 标签,编写网页的时候很有用
    • s 句子 p 段落
    • b 小括号,这个编写程序的时候很有用
    • B 大括号,编写程序的时候很有用
    • " ' `引号内
  • 以上是 字符 可视化模式
  • 那么 可视化模式是什么意思呢?

切换模式

  • 我们上次从正常模式切换到字符可视化模式用的是小写v
  • 如果想切回来呢?

    • 再摁下一下v
    • 或者esc
    • 或者ctrl+c
  • 这次我们切换到行编辑模式,用大写V

    • 可以看到左下角提示,"--- 可视· ---"
    • 切换过来之后可以快速的使用motion控制结束行的位置
    • 可以使用33G跳转位置
  • 也可以用o,切换选区首尾字符
  • 选区选好之后可以做操作了

操作方法

  • 行可视化模式选择的内容是
  • Vjj可以选中3行

    • V 选中当前行
    • j 加选下面一行
    • j 再加选一行

基本操作

  • 我们选择好了很多行之后怎么办呢?
  • 我们选好选取之后,就可以

    • d
    • c
    • y
  • 这和字符可视化模式一样的
  • 可以使用

    • D
    • C
    • Y
  • 可视化模式,大小写没什么区别
  • 不过对 字符 可视化模式,还是有区别的

使用命令行

  • 用命令行模式
  • 就像字符可视化模式一样
  • 比如我:
  • 左下角会出现:'<,'>就是从选区开头,到选区结尾

    • '< 选区开头
    • '> 选区结尾
  • 然后我们摁下d回车

    • 就把选区范围内都删除了
  • 我们可以:h '< 查看相应手册

  • '< 这种形式很像标记啊
  • 就像ma做标记、'a跳转到标记那样
  • 能否看看'<是否也是一个标记

选区标记

  • 做好选区
  • :marks <>查看标记
  • 可以查找到选区的开始和结束标记mark

  • 这刚好标记在了选取的开始结束位置
  • 想要恢复选区应该怎么办?

恢复选区

  • 做好了选区
  • 进入了命令行模式
  • ctrl+c 丢失了选区
  • 想要恢复
  • '<v'>

    • '< 跳到原选区开头
    • v 进入字符可视化模式
    • '> 跳到原选区结尾

选区内替换

  • 在选择好文本范围后,可以在选区范围内控制查找替换

    • 也就是说把:'<,'>作为range来使用
  • :'<,'>s/shiyanlou/oeasy/g

    • 范围内批量替换subtitute
  • :'<,'>s/shiyanlou/oeasy/gc

    • 范围内批量替换并需要确认confirm
  • :'<,'>g/^.*drwxwr.*$/d

    • 范围内有drwxwr的直接删除delete

合并多行

  • 可以用J把这好多行合并成1
  • 可以查询帮助:h v_J 可视模式下的J的作用
  • 除了行可视化之外,字符可视化也可以J将多行合成一行
  • 简单说就是把回车换行删除掉

总结

  • 这次我们了解到行可视模式

    • 行可视模式 V
    • 也可配合各种motion
    • o切换首尾
  • 选区的开头和结尾是mark标记

    • 开头是 '<
    • 结尾是 '>
  • 可以在选区内进行替换和删除

    • :'<,'>s/shiyanlou/oeasy/g 范围内批量替换
    • :'<,'>s/shiyanlou/oeasy/gc 范围内批量替换待确认
    • :'<,'>g/^.*drwxwr.*$/d 范围内有drwxwr的直接删除
    • 选中了之后可以进行d、c、y等操作
    • 可以用"a使用指定寄存器
  • 可以合并多行

    • 用J把这好多行合并成1
  • 这次是可视化模式
  • 那么可视化模式又是什么意思呢?
  • 下次再说

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

[Gitee地址] (overmind1980/oeasyvim)

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

oeasy教您玩转vim - 57 - # 行可视化的更多相关文章

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

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

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

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

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

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

  4. oeasy教您玩转linux010203显示logo

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

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

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

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

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

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

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

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

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

  9. oeasy教您玩转linux010107那啥在哪 whereis

    回忆上次内容 上次讲了 ls 的参数 (arguement) 和选项 (option) 的设置. 现在我们要制作这样一个列表:

随机推荐

  1. C#中List是链表吗?为什么可以通过下标访问

    使用C#的同学对List应该并不陌生,我们不需要初始化它的大小,并且可以方便的使用Add和Remove方法执行添加和删除操作,但却可以使用下标来访问它的数据,它是我们常说的链表吗?     List& ...

  2. mybatis零碎

    <           <    小于号 >          >    大于号 &     &        和 &apos;     '     单 ...

  3. php获取纳秒方法

    PHP不提供精度高于微秒的函数. 可以使用system功能,直接从机器中获得的价值,如果你运行的是Linux: $nanotime = system('date +%s%N');

  4. Shell系列(30)- 单分支if语句判断分区使用率

    需求 监控分区已用空间,超过80%,抛出警告 脚本 #!/bin/bash #给tets赋值用于接收参数,传递给if进行判断 #申明变量test并赋值,由于赋的值是系统变量的结果,所以得用$()引用 ...

  5. 目标检测之pycocotools安装

    从清华镜像源下载https://pypi.tuna.tsinghua.edu.cn/simple/pycocotools-windows/ wheel型包,pycocotools_windows-2. ...

  6. Css3 3D 旋转动画效果

    需求: 1.一个列表滑动效果为360 旋转 准备: 1.css 基础 2.Css 动画基础animation 3.transform-style概念 4 transform 概念 5 JavaScri ...

  7. django如何加载外部文件

    django如何加载外部文件(环境:pycharm python2.7 django1.11) 有一份新的文件夹名为:py_aiplat_demo,内含有多个文件夹(SDK,demo,data). 1 ...

  8. linux mint17.3+vmware 12.1.1 流畅安装运行OSX EI capitan

    在linux mint17.3的vmware虚拟机中安装mac osx ei capitan系统 出于对苹果操作系统的好奇与喜爱,分别在宿主机操作系统为windows 7和linux mint17.3 ...

  9. HTML的一些技巧

    清除form表单 this.$refs.formName.resetFields() 验证表单 this.$refs.createForm.validate((valid) => {}) 当im ...

  10. 支持remote write和exemplar的prometheus服务

    最近项目组在做Prometheus指标采集和告警,其中用到了Prometheus的exemplar特性,由于该特性比较新,当前支持该特性的存储有比较少.因此需要自行实现exemplar功能. 我在gi ...