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

通过符号移动

作者: abusalimov 全部

(不再维护) Sublime Text插件,用于在上下符号间跳转

标签 代码导航

详细信息

  • 1.1.0
  • github.​com
  • github.​com
  • 4年前
  • 11分钟前
  • 11年前

安装次数

  • 总计 2K
  • Win 1K
  • Mac 616
  • Linux 562
2022年8月6日 2022年8月5日 2022年8月4日 2022年8月3日 2022年8月2日 2022年8月1日 2022年7月31日 2022年7月30日 2022年7月29日 2022年7月28日 2022年7月27日 2022年7月26日 2022年7月25日 2022年7月24日 2022年7月23日 2022年7月22日 2022年7月21日 2022年7月20日 2022年7月19日 2022年7月18日 2022年7月17日 2022年7月16日 2022年7月15日 2022年7月14日 2022年7月13日 2022年7月12日 2022年7月11日 2022年7月10日 2022年7月9日 2022年7月8日 2022年7月7日 2022年7月6日 2022年7月5日 2022年7月4日 2022年7月3日 2022年7月2日 2022年7月1日 2022年6月30日 2022年6月29日 2022年6月28日 2022年6月27日 2022年6月26日 2022年6月25日 2022年6月24日 2022年6月23日
Windows 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 1 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 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 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 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

README

源代码
raw.​githubusercontent.​com

Sublime Move By Symbols

Sublime Text插件,用于通过当前文件的符号上下导航。

这是默认设置下的操作方式。

Animation

安装

软件包管理器

已安装软件包管理器: - 打开命令面板(ctrl + shift + P + + P) - 选择 软件包管理器:安装软件包(代码: pkginst) - 搜索 通过符号移动(代码: mbsym)软件包并安装

手动

定位Sublime Text的Packages目录(首选项 → 浏览包...)并将其克隆到该目录下

git clone https://github.com/abusalimov/SublimeMoveBySymbols.git "Move By Symbols"

使用

默认提供了两个键盘绑定

Mac OS X Linux / Windows
上一符号 ctrl + 向上箭头 alt + 向上箭头
下一符号 ctrl + 向下箭头 alt + 向下箭头

也可以使用鼠标滚轮代替/键,同样可以使用相同的修饰符。

自定义

主命令是:move_by_symbols,它接受两个布尔参数

  • forward: bool,必填
    移动方向
  • extend: bool,默认是 false
    控制是否保留当前选择

设置文件

所有可用的选项列在下面。 您还可以参考 首选项 → 软件包设置 → 通过符号移动 → 设置 – 默认 获取所有设置及其描述和默认值。

选项按以下顺序读取(最后一个匹配总是获胜): - 软件包设置 - Sublime设置 - 命令参数

软件包设置

这些设置具有最低优先级,可以用来全局修改选项。例如,要禁用状态栏中显示符号,打开Packages/User/Move By Symbols.sublime-settings文件(首选项 → 软件包设置 → 通过符号移动 → 设置 – 用户),然后添加

{
    "show_in_status_bar": false
}

Sublime设置

Sublime 的设置链处理方式如文档所述(点击查看)

  • Packages/User/Preferences.sublime-settings
  • 项目设置
  • Packages/User/<syntax>.sublime-settings

为了避免全局命名空间污染,所有相关设置都使用 MoveBySymbols. 前缀来指定。

例如,为了修改通过Diff文件导航的方式,以便只包含更改的文件名(不选择diff部分),并在导航时使文件名更显眼,请创建 Packages/User/Diff.sublime Settings 文件(或编辑diff文件时打开它,在 首选项 → 设置 – 更多 → 语法特定 – 用户 中打开)并添加以下行

{
    "MoveBySymbols.symbol_selector": "meta.toc-list.file-name.diff",
    "MoveBySymbols.highlight_style": "fill",
    "MoveBySymbols.highlight_scope": "string"
}

命令参数

传递给 move_by_symbols 命令的参数将覆盖上述所有内容。

例如,为了仅用于类之间的导航添加快捷键(比如使用 ctrl 快捷键),请将以下内容添加到 Packages/User/Default (<platform>).sublime-keymap(在 首选项 → 键绑定 – 用户 中打开):

[
    { "keys": ["ctrl+alt+up"],   "command": "move_by_symbols",
            "args": {"forward": false, "symbol_selector": "entity.name.type"}},
    { "keys": ["ctrl+alt+down"], "command": "move_by_symbols",
            "args": {"forward": true,  "symbol_selector": "entity.name.type"}}
]

可用设置

以下选项控制包的行为

  • symbol_selector字符串,默认为 null,示例值: "entity.name"
    如果没有指定(默认),则使用符号索引(通过 ctrl + R 概要显示)。某些语法包(如Python)通过添加额外缩进或参数列表来覆盖符号选择器,以获得更整洁的概要。但是,只通过选择符号名(标识符)来导航会更方便,无需周围文本。设计为使用 MoveBySymbols.symbol_selector 设置每个语法进行自定义。

  • force_single_selection布尔值,默认为 false
    将此选项设置为 true 将丢弃除第一个或最后一个以外的所有选择,具体取决于所用的方向。

  • show_in_status_bar布尔值,默认为 true
    如果选中单个符号,在状态栏中显示其名称。

  • highlight布尔值,默认为 true
    在导航时突出显示符号。

  • highlight_scope字符串,默认为 null,示例值: "string"
    如果没有指定(默认),则使用符号本身的文字颜色。如果您想使用相同的颜色来绘制所有符号,请将此选项设置为所需的范围名称,例如“字符串”或“备注”。

  • highlight_style"outline""fill" 之一,默认为 "outline"
    控制如何突出显示符号。

  • highlight_timeout整数,默认为 1500
    突出显示在毫秒数自动消失前的毫秒时间。