欢迎光临散文网 会员登陆 & 注册

oeasy教您玩转vim - 64- # 参数argument

2021-11-17 08:11 作者:oeasy  | 我要投稿

参数argument

回忆上次

  • 上次了解了 窗口 window

  • 窗口是用来装缓冲buffer

  • buffer是在内存里面加载的硬盘文件

  • 窗口的切分

    • :sp[lit] 水平切分

    • :vsp[lit] 垂直切分

  • 窗口的切换

    • ctr-w再k切换到当前窗口上面的窗口

    • ctrl-w再j切换到当前窗口下面的窗口

    • ctrl-w再h切换到当前窗口左面的窗口

    • ctrl-w再l切换到当前窗口右面的窗口

  • 窗口的隐藏和全屏

    • 其他的窗口都进入:hide状态

    • 隐藏的windowbuffer不保存

    • 除非autowrite设置了

    • :hid[e]可以隐藏当前窗口

    • :on[ly]可以全屏当前窗口

  • laststatus 可以设置状态栏

  • terminal 可以开启终端

  • 上次主要就是window,还挺方便

  • 尤其多文件操作

  • 这个还有什么可玩的吗?🤔

总结简化出窗口的全键盘操作

  • 新建与退出

    • ctr-w再s相当于:sp[lit] 上下分割

    • ctrl-w再v相当于:vsp[lit] 左右分割

    • ctrl-w再q相当于:q[uit]

    • ctrl-w再o相当于on[ly]全屏

  • 多窗口操作

    • 所有窗口都有

    • 全退出: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是参数列表( arguments list)

    • 列表里有3个参数 argument

    • 我们可以在 :ar[gs] 查看所有参数

    • vi o1 o2 o3

操作参数列表

  • arga

    • :args 可以看见 .vimrc 进入了参数列表

    • ls 可以看到他也进入了 buffer list

    • b .vimrc 可以把当前 window 切换到 .vimrc 这个 buffer

    • 添加 o4 到参数列表

    • :args 可以看见 o4 进入了参数列表

    • 添加到参数列表

    • argument add

    • :arga o4

    • :arga ~/.vimrc 添加一个实际存在的文件

  • :argd

    • 从参数列表删除 .vimrc

    • :args

    • 可以看到.vimrc从参数列表消失

    • 但是 buffer 还在

    • 从参数列表删除o4

    • :args

    • 可以看见 o4 从参数列表消失

    • 从参数列表删除

    • argument delete

    • argd o4

    • argd /home/shiyanlou/.vimrc

  • 参数argument和缓存buffer之间什么关系?

参数argument和缓存buffer

  • arguements是在打开vim时候打开的参数 arguement 文件列表

    • 一开始打开的文件进入参数列表

    • 在内存中加载成为一个个缓冲buffers

    • 也进入缓冲列表 :buffers

  • 这个时候再新打开文件:e o5

    • o5会进入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

    • 这样就可以横向打开3window,每个argument对应一个

  • 或者vi -O o1 o2 o3

    • 纵向打开3个文件

vim中打开多个文件

  • 首先在terminal做准备

    • ls -lah > oeasy.txt

    • cp oeasy.txt o2z.txt

    • vi

    • :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地址] (https://github.com/overmind1980/oeasyvim)
[Gitee地址] (https://gitee.com/overmind1980/oeasyvim)
[蓝桥实验楼 邀请码FJWYIMGB] (https://www.lanqiao.cn/courses/2840)


oeasy教您玩转vim - 64- # 参数argument的评论 (共 条)

分享到微博请遵守国家法律