ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

多重选择滚动器

作者: mattst 所有

这是一款 Sublime Text 插件,允许在多选文本之间滚动,并清除选择,在多个位置保留单个光标。

详细信息

  • 1.0.0
  • github.​com
  • github.​com
  • 9年前
  • 1小时前
  • 9年前

安装次数

  • 总计 3K
  • Win 2K
  • Mac 353
  • Linux 407
8月6日 8月5日 8月4日 8月3日 8月2日 8月1日 7月31日 7月30日 7月29日 7月28日 7月27日 7月26日 7月25日 7月24日 7月23日 7月22日 7月21日 7月20日 7月19日 7月18日 7月17日 7月16日 7月15日 7月14日 7月13日 7月12日 7月11日 7月10日 7月9日 7月8日 7月7日 7月6日 7月5日 7月4日 7月3日 7月2日 7月1日 6月30日 6月29日 6月28日 6月27日 6月26日 6月25日 6月24日 6月23日
Windows 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Mac 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Linux 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

README

源代码
raw.​githubusercontent.​com

多重选择滚动器 - Sublime Text 插件

特性

此插件可以执行的功能概述

  • 兼容 Sublime Text v.2 和 v.3
  • 滚动到选择命令 - 将所选选择居中于中间行
    1. 滚动到上一个选择(向后)
    2. 滚动到下一个选择(向前)
    3. 滚动到第一个选择
    4. 滚动到最后的选择
  • 自动滚动循环,从最后一个到第一个及相反
  • 清除到选择命令 - 清除所有选择,在以下保留单个光标
    1. 清除到第一个选择(实际上不需要,请参阅“描述”部分)
    2. 清除到最后选择
    3. 清除到中间行(概念上的“当前”选择)或最接近中间行的选择
    4. 清除到可见区域的中间行(忽略选择位置,仅在中间行放置光标)
  • 用户反馈状态消息,例如:“滚动到选择:5/11”“清除到选择:3/5”
  • 设置,用于禁用用户反馈状态消息并防止滚动循环

描述

多重选择滚动器是一个 Sublime Text 插件,它提供了向前和向后浏览当前选择的命令,通过移动可见区域使下一个/前一个选择居中于中间行。从最后一个选择循环到第一个选择,并逆相反是自动的。秦到第一个和最后一个选择的命令可以完成它的滚动功能。

多选滚动条还提供命令来清除选择,同时保留一个光标在第一个选择、最后一个选择、或者在中间行(概念上是指“当前”选择/你刚刚滚动到的那个)上,或者在其附近,并且移动可见区域,使得单光标居中在中间行。它还包含一个命令,清除选择,同时将单光标留在可见区域中间行的末端(这忽略了选择的位置,并且不会移动可见区域)——换句话说,清除选择,并在当前滚动位置的中线处保留光标。

注意:显然,保留在第一个选择的光标位置的选择清除命令实际上并不需要,因为按escape键可以完成相同的功能。它已经被包含在插件的函数中,以允许用户将该任务分配给与其他选择滚动命令相同的按键分组,并避免与系统默认的.sublime-keymap文件相关的复杂上下文关联。

用户反馈以状态信息的形式给出。这告诉用户如果滚动(例如,“在选择处滚动:5/11”),刚刚放置在中间行的选择是哪个,或者如果清除选择(例如,“在选择处清除:3/5”),光标被留在哪个选择上。

插件有设置来禁用用户反馈状态信息以及防止滚动循环。

已知的设计限制(不是错误)

请注意,该插件有一个已知的限制。缓冲区第一页上中间行以上的选择不能移动到中间行,Sublime Text没有设置scroll_above_beginning。如果scroll_past_end设置为true(默认设置),则缓冲区最后一页中间行以下第一个选择可以移动到中间行,但后面的选择不能。在这两种情况下,任何剩余的选择,无论在中间行的上方或下方,都会显示在屏幕上的可见区域,因此很容易被发现。应该注意的是,这个限制不会干扰滚动循环,滚动循环仍然正常工作。[在实际应用中,我没有发现这种情况不方便,这种情况很少发生。]

演示

此演示中的滚动看起来并不平滑,这是因为为了减小演示文件的大小而使用了低帧率。插件执行的滚动是通过Sublime Text完成的,并且它会像你通常的滚动一样平滑。

此演示展示了选择滚动和选择清除功能。

Demo

要求/测试

  • Sublime Text v.2或v.3
  • 使用:ST v.2版本2221(Linux 64位)。
  • 使用:ST v.3版本3065(Linux 64位)。

安装

推荐:使用 PackageControlSublime Text 包管理器

  • 在Sublime Text中打开 命令面板 并选择 Package Control: Install Package
  • 当包列表已加载时,选择 MultipleSelectionScroller

不推荐:手动安装

  • 在你Sublime Text的 Packages 目录中创建一个名为 MultipleSelectionScroller 的目录(或您偏好的任何名称)。
  • 使用 git 或从GitHub页面的zip文件下载并将此存储库中的文件放入该目录。
  • Sublime Text v.2用户必须从zip文件中提取文件。
  • Sublime Text v.3用户可以将文件重命名为以 .sublime-package 结尾,或在您想保留文件的情况下提取文件。
  • 显然,如果您手动安装,则不会收到自动包更新,如果发现错误则很麻烦。
  • 注意:如果您担心添加键文件会干扰到您的配置,请放心,本包永远不会添加.sublime-keymap文件。

设置 — 参数

Multiple Selection Scroller 插件有两个可选设置,可用于更改插件的默认行为。

  • 默认情况下,在滚动时,插件将按从最后一个选择项到第一个选择项,再从第一个选择项到最后一个选择项的顺序循环。可以通过将MultipleSelectionScroller.scroll_cycling设置更改为false来禁用此功能。
  • 默认情况下,用户反馈以状态消息的形式给出。可以通过将MultipleSelectionScroller.quiet设置更改为true来禁用。

例如,将这些设置添加到您的Preferences.sublime-settings文件中

// Disable scroll cycling:
"MultipleSelectionScroller.scroll_cycling": false,

// Disable user feedback status messages:
"MultipleSelectionScroller.quiet": true,

设置 — 键位

Multiple Selection Scroller 插件不提供.sublime-keymap文件来设置其键位。

选择适用于所有用户的键位是不可能的——所选择的键位总会干扰到某些用户现有的键位。《README_KEYS.md》文件,如下所示,包含各种键位绑定的建议和示例,您可以复制并粘贴到您的用户Default (OS).sublime-keymap文件,并对其进行修改以适应您的配置。

请点击此链接阅读README_KEYS.md文件。

参考

命令和参数

Command name: multiple_selection_scroller

Either a scroll_to or a clear_to arg MUST be used in the command call.

scroll_to - move the visible region centering the selection on the middle line.
-------------------------------------------------------------------------------------
Command Arg      Value                       Description
-------------------------------------------------------------------------------------
scroll_to        previous_sel      Scroll to previous selection (backwards)
scroll_to        next_sel          Scroll to next selection (forwards)
scroll_to        first_sel         Scroll to first selection
scroll_to        last_sel          Scroll to last selection

clear_to - clear the selections leaving a single cursor at the chosen location.
-------------------------------------------------------------------------------------
Command Arg      Value                       Description
-------------------------------------------------------------------------------------
clear_to         first_sel         Clear to first selection
clear_to         last_sel          Clear to last selection
clear_to         middle_sel        Clear to selection on/nearest the middle line
clear_to         visible_area      Clear to the middle line of the visible region
                                   (regardless of selections, clear to current pos)
-------------------------------------------------------------------------------------

设置文件

Two settings may optionally be used in the Preferences.sublime-settings file.

MultipleSelectionScroller.quiet - control user feedback status messages.
-------------------------------------------------------------------------------------
Setting                                    Value           Description
-------------------------------------------------------------------------------------
MultipleSelectionScroller.quiet            true     Do not display status messages
MultipleSelectionScroller.quiet            false    Display status messages (default)
-------------------------------------------------------------------------------------

MultipleSelectionScroller.scroll_cycling - control scroll cycling.
-------------------------------------------------------------------------------------
Setting                                    Value           Description
-------------------------------------------------------------------------------------
MultipleSelectionScroller.scroll_cycling   true     Enable scroll cycling (default)
MultipleSelectionScroller.scroll_cycling   false    Disable scroll cycling

许可证

MIT 许可证 (MIT)

版权 © 2015 [email protected] / https://github.com/mattst

任何人免费获得此软件及其相关文档文件(“软件”)的副本,并获得在不受限制的情况下处理该软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或将软件的副本出售给他人,并允许取得软件副本的人这样做,前提是受以下条件约束:

上述版权声明和本许可声明应包含在软件的所有副本或其主要部分中。

该软件“按原样提供”,不提供任何明示或暗示的保证,包括但不限于适销性、适用于特定目的和无侵权性的保证。在任何情况下,作者或版权持有者不对任何索赔、损害或其他责任承担责任,无论此类责任是基于合同、侵权或其他方式产生的,无论这类索赔、损害或其他责任是否与该软件或其使用或其他方式有关。