如何将书签限制为每行一个,而不是由行和列定义?
您知道,就像其他所有文本编辑器一样。
答案 0 :(得分:1)
为了使书签位置的粒度更小,您需要用一个内部toggle_bookmark
替换命令,该命令始终强制将书签位置变为光标所在行的开头,而不是其确切位置。 / p>
为简单起见,它类似于以下内容:
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
区域是与书签一起使用的内部命令所使用的区域,因此该命令将与任何其他与本机书签一起使用的命令一起使用。这包括已经存在的可在命令之间进行导航的命令,以及其他插件为扩展功能而添加的命令,例如用于在当前光标位置和下一个书签之间进行选择的扩展功能(尽管在这种情况下,由于定位)。