oeasy教您玩转vim - 65 - # 批处理操作
批处理操作
回忆上次
- 我们上次参数列表
arguments list - 所谓参数列表指的是
vim打开的参数列表 - 参数会加载到内存中成为
buffer 参数的控制
:arga filename添加参数- 此操作支持*可以打开多个文件
:argd filename来删除参数:args查询参数列表
缓冲的控制
:bd filename来删除缓存:e filename来打开缓存ls可以列出缓存列表
可以在
terminal中配合find来找到文件- 然后作为参数给
vim sudo find / -mindepth 3 -maxdepth 4 -name passwd | xargs vi
- 然后作为参数给
- 精准地控制了参数列表或者缓冲列表
- 这两个列表可以怎么用呢?
同时打开2个文件
vi -o o1 o2:windo normal I oeasywindo所有窗口都执行normal进入普通模式I oeasy插入oeasy
:windo normal owindo所有窗口都执行normal进入普通模式o换行
:windo normal "%pwindo所有窗口都执行normal进入普通模式"%p粘贴各自文件名
批量替换
:windo %s/oeasy/o2z/gwindo所有窗口都进行%s/oeasy/o2z/g把oeasy替换为o2z- 然后可以
:wall全部保存
批量细节
可以设置
range- 这个指的是
window编号 :1,3windo normal Ioeasy
- 这个指的是
可以执行批处理序列,用
|隔开各个命令:windo %s/oeasy/o2z/g| %s/o2z/o3z/g- 这样就可以执行两条替换命令了
:windo set nolist nofoldcolumn | normal zn: windo set fileencoding=utf-8 | update自动更新
bufdo
- 除了
windo 我们还可以对每一个
buffer执行命令:bufdo %s/oeasy/o2z/g- 在当前
window遍历每个buffer - 可以设置
hidden隐藏 修改后的buffer - 或
autowrite自动保存
可
:ls、:buffers- 查看当前的
buffers列表
- 查看当前的
可删除
buffers缓冲文件:bd1:bd o2z.txt
可打开新的
buffer缓冲文件e .
可以选择缓冲文件
:b1
argdo
我们还有一种批量执行命令的方式
:argdo %s/oeasy/o2z/g
打开.c文件,设置文件格式并更新
:args *.c:argdo set ff=unix | update
打开
.c或.h文件,批量替换并更新:args *.[ch]:argdo %s/\<my_foo\>/My_Foo/ge | update
查看相应的参数文件列表
- 可以用
:args
- 可以用
删除参数文件
- 可以用
:argd
- 可以用
添加参数文件
- 可以用
:arga
- 可以用
总结
这次有三种批量替换,分别是
:windo:bufdo:argdo
执行的
{cmd}可以用|按顺序增加update自动更新:set autowrite自动写入:set hidden可以隐藏未保存buffer
- 分别对应的
window、buffers、arguments - 各有各自的列表、切换、删除、增加的方式
- 多文件多窗口还有什么可玩的么?
- 下次再说
[Github地址] (GitHub - overmind1980/oeasyvim: 这是oeasy制作的的一套关于vim的教程 可以在 https://www.lanqiao.cn/teacher/courses/2840 做实验 邀请码FJWYIMGB 本教程从0基础开始,到精通vim配置,和高级命令。希望能让vim是你的开发更高效。)
[Gitee地址] (overmind1980/oeasyvim)
[蓝桥实验楼 邀请码FJWYIMGB] (oeasy 教您零基础玩转编辑神器 vim_Linux - 蓝桥云课)
oeasy教您玩转vim - 65 - # 批处理操作的更多相关文章
- oeasy教您玩转vim - 56 - # 字符可视化模式
可视化编辑 回忆上节课内容 我们学习了关于模式匹配中使用参数 单个参数 :%s/<h2>\(.*\)</h2>/ - \1/g 多个参数 :%s/<img src=\ ...
- oeasy教您玩转vim - 57 - # 行可视化
可视化编辑 回忆上节课内容 上次我们了解到可视模式 其实可视化对应三种子模式 字符可视模式 v 行可视模式 大写V 块可视模式ctrl+v 我们先来了解字符可视化模式 快捷键 v 可配合各种mot ...
- oeasy教您玩转vim - 53 - # 批量替换
查找细节 回忆上节课内容 我们温习了关于搜索的相关内容 /正向,?反向 n保持方向,N改变方向 可以设置 是否忽略大写小写 是否从头开始查找 是否高亮显示 还有一些正则表达式的使用方法 行头行尾 ^$ ...
- oeasy教您玩转linux010203显示logo
我们来回顾一下 上一部分我们都讲了什么?
- oeasy 教您玩转linux010101查看内核uname
linux([?l?n?ks]) 是什么????? 咱们这次讲点什么呢?这次咱们讲讲这个 linux([?l?n?ks]),什么是 linux([?l?n?ks])呢?这linux([?l?n?ks] ...
- oeasy教您玩转linux010202软件包管理apt
顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux010201持续输出yes
我们来回顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux010108到底哪个which
到底哪个which 回忆上次内容 我们上次讲了查找命令位置whereis 我想找到whereis的位置怎么办?
- oeasy教您玩转python - 006 - # hello world
Hello World! 回忆上次内容 python3 的程序是一个 5.3M 的可执行文件 python3 里面全都是 cpu 指令 可以执行的那种指令 我们可以把指令对应的汇编找到 objdu ...
- oeasy教您玩转linux-010110内容回顾
我们来回顾一下 我们都讲了什么?
随机推荐
- Java RMI遇到的Connection refused to Host: 127.x.x.x/192.x.x.x/10.x.x.x问题解决方法
问题故障解决记录 -- Java RMI Connection refused to host: x.x.x.x .... 在学习JavaRMI时,我遇到了以下情况 问题原因:可能大家的host是10 ...
- Android OpenMAX(六)OMXStore
在前面两节的学习中我们知道了OMX Core是用来管理(查询/创建/销毁)Android平台上的硬件编解码组件的.这一节我们再向上一层,Android平台除了提供有硬件编解码组件支持,还内置了一些软件 ...
- redis安装和基础使用
redis安装 mkdir /server/tools -p cd /server/tools echo 'PATH=/usr/local/redis/src:$PATH' >>/etc/ ...
- Qt-ui的简单使用,常用控件(2)
1 简介 本文主要介绍Qt ui界面的简单使用,介绍一些常用的控件. 参考视频:https://www.bilibili.com/video/BV1XW411x7NU?p=22 2 常用控件 常用 ...
- c# IdHelper生成唯一的雪花Id
为什么使用雪花ID 在以前的项目中,最常见的两种主键类型是自增Id和UUID,在比较这两种ID之前首先要搞明白一个问题,就是为什么主键有序比无序查询效率要快,因为自增Id和UUID之间最大的不同点就在 ...
- git创建分支 解决git网速太慢
所谓的分支,就是每个人负责的不同的模块 整个项目有一个主干 master 所有的分支都是 从主干 maser 上 分支而来的 ...
- edge 书签栏 收藏夹栏 字体大小
WIN10中,edge收藏夹栏字体太大,如果收藏数目多,得多翻好几页. 解决方法: 地址栏中输入: edge://flags/#edge-pc-ui-integration Enable Window ...
- Shiro 的优点
a.简单的身份认证, 支持多种数据源 b.对角色的简单的授权, 支持细粒度的授权(方法级) c.支持一级缓存,以提升应用程序的性能 d.内置的基于 POJO 企业会话管理, 适用于 Web 以及非 W ...
- 关于cookie的深入了解
1.cookie的诞生 由于HTTP协议是无状态的,服务端的业务必须带用户状态,cookie的诞生最初就是为了存储web中的用户状态以及其他的相关状态,以方便服务器使用.比如是否用户第一次访问网站,用 ...
- rabbitMq消息接收转换对象,Json解析字符串报错syntax error, expect {, actual string, pos 0, fastjson-version 1.2.62解决
Expected BEGIN_OBJECT but was STRING at line 1 column 2 path $ syntax error, expect {, actual string ...