如何在Sublime Text 2中创建打开文件的文本列表

时间:2013-03-06 11:45:28

标签: file sublimetext2

您好,并提前感谢您提供任何帮助。

我曾尝试在这里和网上的其他地方打猎,但没有找到任何帮助。如果这是显而易见的或之前被问过,那我很抱歉。

我使用的是Sublime Text 2,我经常会遇到大量打开的文件,因为它们符合我一直在处理的标准。

我想在Sublime文本中列出所有这些文件。

像: 对于每个打开的文件     写文件名(或可能是完整的文件路径) 下一步

我知道我可以从打开的文件面板到达那里,但只列出文件,没有与我做的预期的交互。我想我可以突出显示文件并使用复制和粘贴来获取列表。

这是我错过的内置功能吗?是否已经有一个包这样做?我是否必须弄清楚如何编写插件来执行此操作?

再一次,非常感谢您提供的任何和所有帮助。

(如果它有任何不同,这是Sublime文本2,主要是在Windows上,但我也会定期切换到Mac以进行不同的工作)

2 个答案:

答案 0 :(得分:0)

这是一种hacky且相对快速的方式来获得类似的东西:

  1. Ctrl + Shift + F(这会打开Find in files对话框)
  2. 确保启用了正则表达式模式(.*按钮)并在$后搜索,例如
  3. 您现在拥有一个包含所有内容的大文件。希望不要太大,以减缓Sublime。现在点击Ctrl + F进行正常Search对话
  4. 输入^_(插入符+空格,而不是下划线)并点击Find All
  5. Ctrl + Shift + K删除所有内容行
  6. 有!现在您有一个包含完整路径的所有打开文件的列表。

    更简洁:

    • Ctrl + Shift + F
    • .*按钮已开启,在$
    • 之后搜索
    • Ctrl + F
    • .*按钮仍然打开,在^[space]之后搜索 - > Find All
    • Ctrl + Shift + K

    另一种方法是让自己成为一个小插件,在按键时为你做这件事。

    SublimeText2 API,您可以获得一些有用的方法:

    Class sublime.Window.views()    [View]    Returns all open views in the window.
    

    然后

    Class sublime.View.file_name()    String    The full name file the file
                                                associated with the buffer, or
                                                None if it doesn't exist on disk.
    

    您可以从现有插件开始。但这涉及一些Python编程技巧。

答案 1 :(得分:0)

import sublime
import sublime_plugin


class RunningfileCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        self.view.window().new_file().insert(edit, 0, "\n".join([view.file_name() for view in sublime.active_window().views() if view and view.file_name()]))
  1. 使用上述代码创建文件并保存为 filelist.py
  2. Open sublime,Goto Preferences - >选择Browse Pacakages
  3. 转到用户文件夹并移到上面的文件( filelist.py
  4. 现在转到偏好设置 - >键绑定
  5. 在其上添加以下内容:

    [{     “钥匙”:[“f12”],     “command”:“runningfile”   }]

  6. 现在按f12,您在新窗口中显示所有打开的文件路径
  7. 由于