【发布时间】:2019-06-15 08:56:54
【问题描述】:
如何将书签限制为每行一个,而不是由一行和一列定义?
你知道,就像其他所有文本编辑器一样。
【问题讨论】:
-
你用的是哪个插件?
-
无............
标签: sublimetext3
如何将书签限制为每行一个,而不是由一行和一列定义?
你知道,就像其他所有文本编辑器一样。
【问题讨论】:
标签: sublimetext3
为了在书签位置中获得更小的粒度,您需要将内部 toggle_bookmark 命令替换为始终强制书签位置作为光标所在行的开头而不是其确切位置的命令。
为简单起见,如下所示:
import sublime
import sublime_plugin
class ToggleBookmarkCommand(sublime_plugin.TextCommand):
def run(self, edit):
view = self.view
old = view.get_regions("bookmarks")
new = [sublime.Region(view.line(sel.b).begin()) for sel in view.sel()]
for sel in new:
if sel not in old:
old.append(sel)
else:
del old[old.index(sel)]
view.add_regions("bookmarks", old, "bookmarks", "bookmark", sublime.PERSISTENT)
将其放置在您的 User 包中的插件中,将使用此版本替换内部的 toggle_bookmark 命令,这将执行适当的切换,但始终将书签位置限制在行首。
bookmarks 区域是用于处理书签的内部命令使用的区域,因此该命令将与任何其他处理本机书签的命令一起使用。这包括已经存在的用于在命令之间导航的命令以及由其他插件添加的用于扩展功能的命令,例如在当前光标位置和下一个书签之间进行选择(尽管在这种情况下,由于涉及定位)。
【讨论】: