有没有办法在SublimeText3中选择当前光标位置与下一个/上一个书签之间的文本?
使用shift键的组合键无效:shift + F2 跳转到上一个书签(即 shift + F2 = “跳到下一个书签”)。在选择“下一个书签”菜单项时按住 shift 键也不起作用。
使用shift键的组合键无效:shift + F2 跳转到上一个书签(即 shift + F2 = “跳到下一个书签”)。在选择“下一个书签”菜单项时按住 shift 键也不起作用。
import sublime, sublime_plugin
class SelectToBookmarkCommand(sublime_plugin.TextCommand):
def run(self, edit, **args):
"""Get initial position"""
initialPoint = self.view.sel()[0].begin()
"""Clear selected things (if any)"""
self.view.sel().clear()
"""Move to next bookmark or previous bookmark"""
forward = args.get('forward','true')
if forward is True:
self.view.run_command("next_bookmark")
else:
self.view.run_command("prev_bookmark")
"""Get current position (position of the bookmark)"""
finalPoint = self.view.sel()[0].begin()
"""Clear selected things (if any)"""
self.view.sel().clear()
"""Region to select"""
regionToSelect = sublime.Region(initialPoint, finalPoint)
"""Add the region to the selection"""
self.view.sel().add(regionToSelect)
使用工具 > 新插件,使用提供的插件。将其保存为 SelectToBookmark.py。 最后,像这样将 keyBindings 添加到您的用户文件中:
{
"keys": ["ctrl+alt+e"],
"command": "select_to_bookmark",
"args": {"forward": true}
}
import sublime, sublime_plugin
class SelectToBookmarkCommand(sublime_plugin.TextCommand):
def run(self, edit, **args):
"""Get initial position"""
initialPoint = self.view.sel()[0].begin()
"""Clear selected things (if any)"""
self.view.sel().clear()
"""Move to next bookmark or previous bookmark"""
forward = args.get('forward','true')
if forward is True:
self.view.window().run_command("sublime_bookmark",{ "type" : "goto_previous" })
else:
self.view.window().run_command("sublime_bookmark",{ "type" : "goto_next" })
"""Get current position (position of the bookmark)"""
finalPoint = self.view.sel()[0].begin()
"""Clear selected things (if any)"""
self.view.sel().clear()
"""Region to select"""
regionToSelect = sublime.Region(initialPoint, finalPoint)
"""Add the region to the selection"""
self.view.sel().add(regionToSelect)
.py
文件保存在Packages/User
中 - 您可以通过选择***Preferences -> Browse Packages...
***菜单选项在系统上定位目录(如果它没有自动弹出)。 - MattDMoPreferences -> Browse Packages...
会打开一个Finder窗口,并选择Packages
文件夹。你可以在Finder中使用command-C
,然后在Sublime Text的“另存为”对话框中粘贴到packages文件夹(然后选择User
将其保存在那里)。我使用了“ctrl+alt+f2”和“ctrl+alt+shift+f2”键绑定,以便与其他书签键绑定类似。 - drevicko