oeasy教您玩转vim - 64- # 参数argument
参数argument
回忆上次
- 上次了解了 窗口
window - 窗口是用来装缓冲
buffer的 buffer是在内存里面加载的硬盘文件窗口的切分
:sp[lit]水平切分:vsp[lit]垂直切分
窗口的切换
- ctr-w再k切换到当前窗口上面的窗口
- ctrl-w再j切换到当前窗口下面的窗口
- ctrl-w再h切换到当前窗口左面的窗口
- ctrl-w再l切换到当前窗口右面的窗口
窗口的隐藏和全屏
:hid[e]可以隐藏当前窗口- 隐藏的
window中buffer不保存 - 除非
autowrite设置了
- 隐藏的
:on[ly]可以全屏当前窗口- 其他的窗口都进入
:hide状态
- 其他的窗口都进入
laststatus可以设置状态栏terminal可以开启终端- 上次主要就是
window,还挺方便 - 尤其多文件操作
- 这个还有什么可玩的吗?
总结简化出窗口的全键盘操作
新建与退出
- ctr-w再s 相当于
:sp[lit]上下分割 - ctrl-w再v 相当于
:vsp[lit]左右分割 - ctrl-w再q 相当于
:q[uit] - ctrl-w再o 相当于
on[ly]全屏
- ctr-w再s 相当于
多窗口操作
- 所有窗口都有
- 全退出
:qall - 全保存
:wall - 全保存并退出
:wqall - 强制退出
:qall!
选择当前窗口
- ctrl-w再h 选择左边的窗口
- ctrl-w再j 选择下边的窗口
- ctrl-w再k 选择上边的窗口
- ctrl-w再l 选择右边的窗口
调整宽度
- ctrl-w再= 所有窗口尽量高度宽度都相等
- ctrl-w再- 当前窗口高度降低
- ctrl-w再+ 当前窗口高度升高
- ctrl-w再< 当前窗口宽度降低
- ctrl-w再> 当前窗口宽度升高
同时打开三个文件
首先
man vi查到打开三个文件的方式vi o1 o2 o3- 命令是
vi o1 o2 o3是参数列表(argumentslist)- 列表里有
3个参数argument - 我们可以在
:ar[gs]查看所有参数
- 命令是

操作参数列表
arga- 添加到参数列表
argumentadd:arga o4- 添加
o4到参数列表 :args可以看见o4进入了参数列表
- 添加
:arga ~/.vimrc添加一个实际存在的文件:args可以看见.vimrc进入了参数列表ls可以看到他也进入了buffer listb .vimrc可以把当前window切换到.vimrc这个buffer
:argd- 从参数列表删除
argument deleteargd o4- 从参数列表删除o4
:args- 可以看见
o4从参数列表消失
argd /home/shiyanlou/.vimrc- 从参数列表删除
.vimrc :args- 可以看到
.vimrc从参数列表消失 - 但是
buffer还在
- 从参数列表删除
- 参数argument和缓存buffer之间什么关系?
参数argument和缓存buffer
arguements是在打开vim时候打开的参数arguement文件列表- 一开始打开的文件进入参数列表
- 在内存中加载成为一个个缓冲
buffers - 也进入缓冲列表
:buffers
这个时候再新打开文件
:e o5o5会进入buffers list- 但是不会进入
arguments list
如果想让他进入的话
- 就需要
:arga o5
- 就需要
想在
arguments list删除的话- 就需要
:argd o5
- 就需要
想在
buffers list删除的话- 可以
bd3或者bd o2
- 可以
参数
argument列表和缓存buffer列表 关系- 他们两个除了开始的时候是一致
- 后来完全是两个列表
- 需要分别维护
我们为什么理清这些东西呢
- 因为以后可能会有针对 缓冲
buffers文件列表的批处理 - 也会有针对 参数
arguments文件列表的批处理
- 因为以后可能会有针对 缓冲
多参数多窗口
参数多于
1的时候可以直接打开多个窗口- 开关是
-o vi -o o1 o2 o3- 这样就可以横向打开
3个window,每个argument对应一个
- 开关是
或者
vi -O o1 o2 o3- 纵向打开
3个文件
- 纵向打开

在vim中打开多个文件
首先在
terminal做准备ls -lah > oeasy.txtcp oeasy.txt o2z.txtvi:arga *.txt
有没有进入参数argument列表
:args
有没有进入缓冲buffer列表?
:buffers
如果
:arga */*.txt- 可以加载一层目录下面的
txt文件
- 可以加载一层目录下面的
- 退出vim之后
再来观察
e *.txt不能执行e不支持通配符e o3z.txt可以把文件加载到buffer list- 但不进入
argument list
直接打开
- 多个文件作为
argments list参数列表 在
terminal中运行- `sudo find / -mindepth 3 -maxdepth 4 -name passwd`
- 可以用`sudo`权限找到所有3层目录到4层目录中
- 名字含有`passwd`的文件列表这个文件列表可以交给
vi作为argments list参数列表sudo find / -mindepth 3 -maxdepth 4 -name passwd | xargs vi
这样打开之后
argments list参数列表buffers list缓冲列表- 都自动加载好了
如果有不需要的
- 可以
:bd4删除缓冲buffer :argd filename来删除参数argument
- 可以
如果有需要添加的
:e filename添加缓冲buffer:arga filename添加参数argument

总结
- 我们这次参数列表
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
- 然后作为参数给
- 精准地控制了参数列表或者缓冲列表
- 这两个可以怎么用呢?
- 下次再说
[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 - 64- # 参数argument的更多相关文章
- 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 教您玩转linux010101查看内核uname
linux([?l?n?ks]) 是什么????? 咱们这次讲点什么呢?这次咱们讲讲这个 linux([?l?n?ks]),什么是 linux([?l?n?ks])呢?这linux([?l?n?ks] ...
- oeasy教您玩转linux010203显示logo
我们来回顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux010201持续输出yes
我们来回顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux010108到底哪个which
到底哪个which 回忆上次内容 我们上次讲了查找命令位置whereis 我想找到whereis的位置怎么办?
- oeasy教您玩转python - 006 - # hello world
Hello World! 回忆上次内容 python3 的程序是一个 5.3M 的可执行文件 python3 里面全都是 cpu 指令 可以执行的那种指令 我们可以把指令对应的汇编找到 objdu ...
- oeasy教您玩转linux010202软件包管理apt
顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux010107那啥在哪 whereis
回忆上次内容 上次讲了 ls 的参数 (arguement) 和选项 (option) 的设置. 现在我们要制作这样一个列表:
随机推荐
- 【winform】【Socket】实现你画我猜一:核心功能开发
我认为得核心:是把客户端画的图画实时传递给其他的客户端. 我的思路是: 1.GDI+绘图加鼠标事件,实现客户端绘图. 2.每记录鼠标有效绘图10个点,就把这10个点通过socket传递给服务器. ...
- jsonp原理详解——终于弄明白了JSONP
什么是JSONP? 其实网上关于JSONP的讲解有很多,但却千篇一律,而且云里雾里,对于很多刚接触的人来讲理解起来有些困难,着用自己的方式来阐释一下这个问题,看看是否有帮助. 1.一个众所周知的问题, ...
- OSG编译安装-MSVC
OSG编译安装-MSVC 1.准备工作 1.1 环境 Windows10 Qt5.14.2 Microsoft Visual Studio2017 cmake-3.20.4-windows-x86_6 ...
- nonatomic 带来的线程安全问题
一.结论 一个对象对外暴露的读写属性,如果这个属性在多个线程中访问,一定会出现crash. 因此对外暴露的属性一定要考虑线程安全问题. 二.看下面的代码 下面的代码一定会crash,除非obj是ato ...
- 继承,super,重写,多态,抽象,接口
继承,super,重写,多态,抽象,接口 继承 extends 用于表示两个类之间的继承关系,继承是OOP的四大特性之一,他允许一个类(称之为子类或派送类) 继承另一个类(称之为父类或基类)的变量和方 ...
- centos7下利用qemu搭建arm模拟器
1 目的 在centos7下使用qemu搭建arm模拟器. 参考博客: centos下利用qemu搭建arm模拟器 - 寒水司天 - 博客园 (cnblogs.com) 从零使用qemu模拟器搭建ar ...
- mvn 打包报错:no compiler is provided in this environment
最近公司换了电脑,系统也从 win7 升级到 win11,开发环境都重新安装了一遍,然后在 idea 用mvn 执行打包命令 mvn clean package 报错: no compiler is ...
- 解决使用`npm install`或`npm i`命令之后报`Unexpected token in JSON at position`错误的问题
网上大多数的教程都是以下几个步骤挨个试一遍,包括 stackoverflow 上也是这么说的 删除node_modules文件夹 删除package-lock.json文件 强制清除npm缓存 npm ...
- promise async 和 await
// promise 是专门用于解决回调地狱的 // 专门用于执行异步程序时使用promise语法 // 语法形式: // ...
- kettle从入门到精通 第十课 kettle switch/case、过滤记录、数值范围
1.java代码里面有if else .switch-case等流程控制,kettle也有相应控件.下图便用到switch/case.过滤记录.数值范围控件. 2. switch/case步骤 1)步 ...