没有内置任何东西,但使用插件很容易做到。请注意,以下内容经过最低限度的测试,无法很好地处理 ST 中的所有内容。话虽这么说,它应该是你开始的一个很好的基础。为了安全起见,在大量使用它之前,我会将所有内容都放入本地 git 存储库中。讨厌这会导致失去工作。为了安全起见,我将要替换的内容复制到剪贴板,但如果您对它有信心,您可以删除sublime.set_clipboard(content)
import sublime
import sublime_plugin
import os
import re
class ExtractAndInput(sublime_plugin.TextCommand):
def run(self, edit):
view = self.view
self.region = view.sel()[0]
content = view.substr(self.region)
sublime.set_clipboard(content)
match = re.search(r"\\section{(.+?)}", content)
if match:
replace = "\\input{%s}" % match.group(1)
view.replace(edit, view.sel()[0], replace)
current = view.file_name()
new_file = "%s.tex" % match.group(1)
path = os.path.normpath(os.path.join(current, "..", new_file))
with open(path, "a") as file_obj:
file_obj.write("% Generated using ExtractAndInput Plugin\n")
file_obj.write(content)
保存插件后,您可以创建一个键绑定到extract_and_input
. 您还可以通过创建具有以下内容的Context.sublime-menu
in来添加上下文菜单。Packages/User
[
{ "caption": "Extract to File", "command": "extract_and_input"}
]