我目前正在使用MacVim,我想打印出工作树中的所有文件.有没有办法简单地这样做,也许使用硬拷贝命令?
为一组文件执行命令的便捷方法是收集
他们的名字列表,将其定义为新的参数列表(参见:help arglist),
然后在参数列表中的那些文件上迭代命令.
原文链接:https://www.f2er.com/bash/383398.html他们的名字列表,将其定义为新的参数列表(参见: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