sublimetext3 - 使 Sublime Text 书签列不敏感
问题描述
如何将书签限制为每行一个,而不是由一行和一列定义?
你知道,就像其他所有文本编辑器一样。
解决方案
为了在书签位置中获得较小的粒度,您需要将内部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
区域是使用书签的内部命令所使用的区域,因此此命令将与使用本机书签的任何其他命令一起使用。这包括已经存在的用于在命令之间导航的命令以及由其他插件添加的用于扩展功能的命令,例如在当前光标位置和下一个书签之间进行选择(尽管在这种情况下,由于涉及定位)。
推荐阅读
- c++ - 创建大小为其他两个矩阵大小的矩阵时超出范围
- mutex - 为什么临界区不能作为互斥体工作?
- python - python dicts of dicts out of python dicts
- php - 无法从所需 php 调用的基本 .php 访问变量
- php - 当似乎没有任何 EXIF 数据时,Windows 文件资源管理器如何知道照片的方向?
- openshift - 通过 lwip 嵌入式硬件连接到 openshift 应用程序
- amazon-cloudformation - Cloudformation 构建卡在“创建中” - 尝试添加它以使用特定的 SG
- python-3.x - 在 pylint 中遵守 R1705 的真正好处是什么?代码真的更安全吗?
- tensorflow - TF 对象检测 API 混合精度
- java - Java如何在不使用future.get且不阻塞父线程的情况下使线程超时