0
我知道subl myfile.txt:5会在第5行打开“myfile.txt”。然而,我希望能够从命令行打开一个文本,并用行5,9,15突出显示或选择。我知道添加命令应该使我能够做到这一点,但如何?命令是什么?如何从命令行打开文件并在Sublime上选择/高亮显示几行?
我知道subl myfile.txt:5会在第5行打开“myfile.txt”。然而,我希望能够从命令行打开一个文本,并用行5,9,15突出显示或选择。我知道添加命令应该使我能够做到这一点,但如何?命令是什么?如何从命令行打开文件并在Sublime上选择/高亮显示几行?
没有内置的命令,我知道这可以做到这一点,但可以轻松创建一个。 (从技术上说,它可以使用默认包中的书签功能和内置的“扩展选择线”功能来实现,但是经验表明,写入命令会更好更可靠。 ST专门为这个目的)
在ST:
import sublime
import sublime_plugin
class SelectSpecificLinesCommand(sublime_plugin.TextCommand):
def run(self, edit, lines):
self.view.sel().clear()
for line in lines:
position = self.view.text_point(int(line) - 1, 0) # internally, line numbers start from 0
self.view.sel().add(self.view.line(position))
Packages/User/
),就像这样select_lines.py
(文件扩展名是很重要的)。subl myfile.txt
subl --command "select_specific_lines { \"lines\": [5, 9, 15] }"
为什么我在单独一行指定命令/调用subl
(这种风格逃避报价JSON字符串从Windows命令提示符和Linux的Bash的作品)?由于这两个注意事项:
可以说,点2仍然可以发生在多个调用subl
,但希望它不太可能。 ST错误跟踪器有一个更好的命令行命令处理问题:https://github.com/SublimeTextIssues/Core/issues/1457。
优秀的答案。完美的作品。谢谢 –