oeasy教您玩转vim - 57 - # 行可视化
可视化编辑
回忆上节课内容
- 上次我们了解到可视模式
其实可视化对应三种子模式
- 字符可视模式 v
- 行可视模式 大写V
- 块可视模式ctrl+v
我们先来了解字符可视化模式
- 快捷键 v
- 可配合各种
motion
- o切换首尾
快速操作
选中了之后可以进行以下操作
- d
- c
- y
- 可以用"a使用指定寄存器
可以用
i
和a
快速选择范围- 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
行
- 用J把这好多行合并成
- 这次是
行
可视化模式 - 那么
块
可视化模式又是什么意思呢? - 下次再说
[Github地址] (https://github.com/overmind1980/oeasyvim)
[Gitee地址] (overmind1980/oeasyvim)
[蓝桥实验楼 邀请码FJWYIMGB] (oeasy 教您零基础玩转编辑神器 Vim_Linux - 蓝桥云课)
oeasy教您玩转vim - 57 - # 行可视化的更多相关文章
- oeasy教您玩转vim - 56 - # 字符可视化模式
可视化编辑 回忆上节课内容 我们学习了关于模式匹配中使用参数 单个参数 :%s/<h2>\(.*\)</h2>/ - \1/g 多个参数 :%s/<img src=\ ...
- oeasy教您玩转vim - 53 - # 批量替换
查找细节 回忆上节课内容 我们温习了关于搜索的相关内容 /正向,?反向 n保持方向,N改变方向 可以设置 是否忽略大写小写 是否从头开始查找 是否高亮显示 还有一些正则表达式的使用方法 行头行尾 ^$ ...
- oeasy 教您玩转linux010101查看内核uname
linux([?l?n?ks]) 是什么????? 咱们这次讲点什么呢?这次咱们讲讲这个 linux([?l?n?ks]),什么是 linux([?l?n?ks])呢?这linux([?l?n?ks] ...
- oeasy教您玩转linux010203显示logo
我们来回顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux010202软件包管理apt
顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux010201持续输出yes
我们来回顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux-010110内容回顾
我们来回顾一下 我们都讲了什么?
- oeasy教您玩转linux010108到底哪个which
到底哪个which 回忆上次内容 我们上次讲了查找命令位置whereis 我想找到whereis的位置怎么办?
- oeasy教您玩转linux010107那啥在哪 whereis
回忆上次内容 上次讲了 ls 的参数 (arguement) 和选项 (option) 的设置. 现在我们要制作这样一个列表:
随机推荐
- 在PHP中使用SPL库中的对象方法进行XML与数组的转换
虽说现在很多的服务提供商都会提供 JSON 接口供我们使用,但是,还是有不少的服务依然必须使用 XML 作为接口格式,这就需要我们来对 XML 格式的数据进行解析转换.而 PHP 中并没有像 json ...
- 关于当前PHP脚本运行时系统信息相关函数
我们的 PHP 在执行的时候,其实可以获取到非常多的当前系统相关的信息.就像很多开源的 CMS 一般会在安装的时候来检测一些环境信息一样,这些信息都是可以方便地动态获取的. 脚本文件运行时的系统用户相 ...
- xmind使用技巧
xmind看似每个人都会使用,但是掌握一些小技巧,能够有效提升工作效率. 多行复制粘贴 在xmind中选中多行,复制然后可以直接粘贴到excel.word当中. 在excel.word选中多行,复制然 ...
- 鸿蒙内核源码分析(CPU篇) | 整个内核就是一个死循环 | 祝新的一年牛气冲天 ! | v32.02
百篇博客系列篇.本篇为: v32.xx 鸿蒙内核源码分析(CPU篇) | 整个内核就是一个死循环 | 51.c.h .o 任务管理相关篇为: v03.xx 鸿蒙内核源码分析(时钟任务篇) | 触发调度 ...
- 新入手服务器不会玩?抢占式实例服务器教程,从零搭建tomcat超简流程
新入手服务器不会玩?抢占式实例服务器教程,从零搭建tomcat超简流程 相信很多新人入手Linux服务器后,一脸无奈,这黑框框究竟能干啥?忽觉巨亏血亏不是? 这里面门道可不是你想象中的那么点,简则服务 ...
- mac上通过git推送时忽略node_modules文件夹
node_modules出现改动一般不需要通过git推送,如果不忽略node_modules每次安装新的包会出现几千条新变动,并没有必要推送 1.通过终端进入项目根目录 创建 .gitignore 文 ...
- C# .NET Core 3.1中使用 MongoDB.Driver 更新嵌套数组元素和关联的一些坑
C# .NET Core 3.1中使用 MongoDB.Driver 更新数组元素和关联的一些坑 前言: 由于工作的原因,使用的数据库由原来的 关系型数据库 MySQL.SQL Server 变成了 ...
- C语言日记① 初识C
概念 c语言是一种计算机语言 也就是人与计算机打交道的语言 在早期,因为计算机使用的二进制 所以早期写代码都是科学家来写的使用对应的功能二进制代码 需要用到手册,所以开发不方便 在后来,人们发明了汇编 ...
- IDEA Web渲染插件开发(二)— 自定义JsDialog
<IDEA Web渲染插件开发(一)>中,我们了解到了如何编写一款用于显示网页的插件,所需要的核心知识点就是IDEA插件开发和JCEF,在本文中,我们将继续插件的开发,为该插件的JS Di ...
- IDEA Web渲染插件开发(一)— 使用JCEF
目前网上已经有了很多关于IDEA(IntelliJ平台)的插件开发教程了,本人觉得简书上这位作者秋水畏寒的关于插件开发的文章很不错,在我进行插件开发的过程中指导了我很多.但是综合下来看,在IDEA上加 ...