在Sublime中,默认情况下没有任何方法允许您同时打开多个文件。可以通过插件/外部包添加这种功能。据我所知,目前在
Package Control
,但那里有很多包裹,很可能是藏着的。
编写这样的插件总体上相当简单,因为Sublime完成了大部分工作,但它需要了解Python。更棘手的是找出应该打开哪些文件。
subl
这与正在运行的Sublime版本对话,并根据需要启动一个。假设它在您的路径上可用,那么可以这样打开特定文件夹中的所有JavaScript文件。
tmartin:dart:~> subl *.js
将在最近激活的Sublime窗口中打开所有匹配文件;您可以包括
-n
告诉Sublime应该先打开一个新窗口,然后将文件放在那里:
tmartin:dart:~> subl -n *.js
这也适用于文件夹和文件,这会将文件夹添加到当前窗口或创建打开该文件夹的新窗口。
见
subl --help
有关其他可用选项的详细信息,包括在确切位置打开文件。
[编辑]
以下内容不适用于Windows(至少在标准命令提示中),因为Windows本身不展开文件globs,Sublime必须自己展开文件globs,它可以为简单的globs这样做
*.js
如果具有浅文件夹结构,则可以在命令行中包含多个术语。例如,如果只有一个目录级别的深度:
tmartin:dart:~> subl -n *.js */*.js
tmartin:dart:~> subl -n *.js */*.js */*/*.js
对于除一个或两个级别之外的任何级别,这都是相当乏味且容易出错的,在这种情况下,我建议使用
find
而是实用程序:
tmartin:dart:~> subl -n `find . -name '*.js'`
找到
命令搜索当前文件夹(
.
)对于名称匹配的所有文件
*.js公司
,它递归地执行。一旦完成,结果就会被放入字符串中。注意把球包起来很重要
'single quotes'
告诉壳牌,它不应该试图扩大他们自己。
后背在
找到
命令告诉shell首先执行该命令,然后将结果用作
subl -n
命令。
find /Users/tmartin/projects/*.js
从任何地方找到所有合适的文件。
找到
@ECHO OFF
IF "%~1" == "" GOTO ERROR
subl -n
FOR /f "usebackq tokens=*" %%a IN (`dir %* /b/s`) DO subl "%%a"
GOTO DONE
:ERROR
ECHO Provide a file glob on the command line.
:DONE
如果有很多文件,这有点次优,因为它需要执行
次级
每打开一个文件就打开一次,而不是一次传递所有文件,但我远不是一个批处理文件专家。