何も組み込まれていませんが、プラグインで簡単に実行できます。以下は最小限のテストであり、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
でを作成することにより、コンテキスト メニューを追加することもできます。Packages/User
[
{ "caption": "Extract to File", "command": "extract_and_input"}
]