我知道subl myfile.txt:5会在第5行打开“myfile.txt”。但我希望能够从命令行打开一个突出显示或选择了第5,9,15行的文件。我知道添加-command应该让我这样做,但是如何?命令是什么?
答案 0 :(得分:1)
我所知道的没有内置命令可以做到这一点,但可以轻松创建一个。
(从技术上讲,它可以使用默认包中的书签功能,以及内置的"扩展选择到行"功能。但是,经验表明,它会更好,更可靠。在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] }"
(这种转义JSON字符串引号的方式适用于Windows命令提示符和Linux的Bash)为什么我在单独的行/ subl
调用中指定命令?由于这两个警告:
可以说,对于subl
的多次调用,第2点仍然可能发生,但希望它不太可能发生。 ST错误跟踪器存在一个未解决的问题,可以更好地进行命令行命令处理:https://github.com/SublimeTextIssues/Core/issues/1457。