加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

从Vim递归打印所有文件

发布时间:2020-12-16 01:34:50 所属栏目:安全 来源:网络整理
导读:我目前正在使用MacVim,我想打印出工作树中的所有文件.有没有办法简单地这样做,也许使用硬拷贝命令? 为一组文件执行命令的便捷方法是收集 他们的名字列表,将其定义为新的参数列表(参见:help arglist), 然后在参数列表中的那些文件上迭代命令. 要执行第一步,
我目前正在使用MacVim,我想打印出工作树中的所有文件.有没有办法简单地这样做,也许使用硬拷贝命令?
为一组文件执行命令的便捷方法是收集
他们的名字列表,将其定义为新的参数列表(参见:help arglist),
然后在参数列表中的那些文件上迭代命令.

>要执行第一步,请使用带有通配符的:args命令
匹配所需的文件.例如,

:args ./**/*

将参数列表设置为当前所有文件的名称
目录及其子目录;同样,

:args /tmp/**/*.{c,h}

选择/ tmp及其子目录中的所有.c和.h文件.对于
有关通配符语法的详细信息,请参阅:help wildcard.

如果包含要打印的文件的子树根的路径未知
事先并由脚本构建,使用命令

:exe 'args' join(map(split(glob(p . '/**/*'),'n'),'fnameescape(v:val)'))

其中变量p应包含其路径名
根目录.
>要将参数列表中的文件发送到打印机,请执行
:使用:argdo命令对这些文件执行hardcopy命令,

:argdo hardcopy!

的!说明符禁止选择打印的模态对话框
参数.

可以使用更复杂的命令将每个文件打印到
一个单独的PostScript文档,位于与该目录相同的目录中
文件.

:argdo hardcopy! >%:p.ps

这里打印文件的名称与.ps后缀连接在一起
获取相应PostScript文件的名称(请参阅:help
CMDLINE特).

为了加速:argdo-argument命令,Vim忽略了
通过将其添加到eventignore列表来语法autocommand event.
这意味着如果没有为文件运行语法自动命令
在:hardcopy命令之前的参数列表中:argdone,the
相应的打印文档没有语法高亮
(在语法的情况下:在printoptions中设置y).执行语法
参数列表中所有文件的自动命令,请使用以下命令
先命令.

:argdo set ei-=Syntax | do Syntax

要在与打印相同的运行中执行此操作,请连接命令:

:argdo set ei-=Syntax | do Syntax | hardcopy! >%:p.ps

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读