【发布时间】:2017-06-14 21:21:49
【问题描述】:
我知道 subl myfile.txt:5 会在第 5 行打开“myfile.txt”。但是我希望能够从命令行打开一个文件,其中突出显示或选择了第 5、9、15 行。我知道添加 –command 应该可以让我做到这一点,但是怎么做呢?命令是什么?
【问题讨论】:
我知道 subl myfile.txt:5 会在第 5 行打开“myfile.txt”。但是我希望能够从命令行打开一个文件,其中突出显示或选择了第 5、9、15 行。我知道添加 –command 应该可以让我做到这一点,但是怎么做呢?命令是什么?
【问题讨论】:
据我所知,没有内置命令可以做到这一点,但可以轻松创建。
(从技术上讲,可以使用 Default 包中的书签功能和内置的“将选择扩展到行”功能来完成。但是,经验表明,在 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.txtsubl --command "select_specific_lines { \"lines\": [5, 9, 15] }"(这种转义 JSON 字符串引号的方式适用于 Windows 命令提示符和 Linux 的 Bash)为什么我在单独的行中指定命令/调用subl?由于这两个警告:
可以说,第 2 点仍然可能在多次调用 subl 时发生,但希望它不太可能发生。为了更好地处理命令行命令,ST 错误跟踪器上有一个未解决的问题:https://github.com/SublimeTextIssues/Core/issues/1457。
【讨论】: