代码之家  ›  专栏  ›  技术社区  ›  sfletche

使用Sublimitext3,如何打开所有同名文件

  •  1
  • sfletche  · 技术社区  · 7 年前

    index.js ).

    我最后一次只能打开一个…但也许有一种方法我可以同时打开它们。。。?

    替代策略

    我确实找到了一些存在于所有这些文件中的可搜索术语,这有助于识别所有文件(至少我希望如此),而且这似乎比用 cmd-p ...

    1 回复  |  直到 7 年前
        1
  •  1
  •   OdatNurd    7 年前

    在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
    

    如果有很多文件,这有点次优,因为它需要执行 次级 每打开一个文件就打开一次,而不是一次传递所有文件,但我远不是一个批处理文件专家。

    推荐文章