EasyMotion
Sublime Text 2插件,允许您快速跳转到当前视图可见区域内的任何字符。
详细信息
安装次数
- 总计 26K
- Win 13K
- Mac 8K
- Linux 5K
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日 | 6月22日 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 0 | 2 | 1 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 2 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 |
Mac | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 2 | 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 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
说明文件
Sublime EasyMotion
EasyMotion是一个Sublime Text 2插件,允许您将光标移动到当前视图的任何字符。
其设计灵感主要来自Vim的EasyMotion和Emacs的AceJump插件。
按下EasyMotion快捷键(默认cmd-;
/ctrl-;
)后,再按您想跳转到的字符。EasyMotion会将当前视图中所有可见的该字符实例替换为a-zA-Z0-9
中的一个。按下您所需的键,您的光标将直接跳转到该位置。
在此处我按下cmd-;
,然后按f
。EasyMotion用a-f
高亮显示6个可见的“f”字符。然后我按d
键跳转到“function”的开始。
安装
通过PackageControl安装
如果您已安装PackageControl插件,则可以使用它来安装EasyMotion。
只需按cmd-shift-p
(win/Linux上的ctrl-shift-p
)呼出命令面板,然后输入install
,从下拉菜单中选择Package Control: Install Package
。
然后输入EasyMotion
,从下拉菜单中选择EasyMotion插件。按下enter
键即可安装。
手动安装
手动安装应该很简单,只需将此git仓库克隆到Sublime Text的Packages
目录。在OSX上
cd ~/Library/Application\ Support/Sublime\ Text\ 2/Packages
git clone git://github.com/tednaleid/sublime-EasyMotion.git EasyMotion
(在packages下的目录名必须为EasyMotion
,而不是sublime-EasyMotion
,以便某些首选项被选中)
如果您想尝试下一个版本的插件,可以将分支切换到开发分支
cd EasyMotion
git checkout development
此分支将包含标记为已解决的问题的功能,但尚未合并到master
。
Sublime Text 3 的实验性支持
此功能不受支持,也没有计划在未来添加更多支持。对于 ST3,我建议查看AceJump 插件。
在 st3
分支上提供了对 Sublime Text 3 的实验性支持,需要手动安装并使用 st3
分支。
cd ~/Library/Application\ Support/Sublime\ Text\ 3/Packages
git clone git://github.com/tednaleid/sublime-EasyMotion.git EasyMotion
cd EasyMotion
git checkout st3
用法
跳转到任何可见字符
cmd-; <character> // OSX
ctrl-; <character> // Linux/Windows
它会将那个字符的所有实例标记为 a-zA-Z0-9
中的唯一值,输入你想要的标记,然后会跳转到那里。
示例
光标在文件末尾,我们想在第 3 行的 realpart
变量的开头位置跳转
而不用按两次上箭头并滚动到 r(或者拿鼠标),可以按 cmd-;
后跟 r
。这会将你的文件转换成这样(注意,每个 r
实例都被转换为了 a-zA-Z0-9
中的一个)
按 e
然后,光标会跳到那里
如果你的目标字符在可见区域内出现超过 62 次,它将分批次装饰。
所以如果我们用 cmd-;
+l
搜索这个字 l
前 62 个目标将看起来像这样
只需按 enter
就会高亮显示下一组匹配项。
继续按 enter
,它会继续以每批 62 个的方式在这些匹配组中循环。你也可以按 shift-enter
来向后循环目标组。按 spacebar
或 ctrl-c
和 escape
也可以退出(但不知何故,目前有一个 bug,需要重复按这些键两次才能退出)。
选择光标和任何可见字符之间的所有文本
cmd-shift-; <character> // OSX
ctrl-shift-; <character> // Linux/Windows
它会将那个字符的所有实例标记为 a-zA-Z0-9
中的唯一值,输入它并将选择从你当前光标位置到所选择的跳转目标之间的所有文本。
示例
所以在上面的情况下,如果我们按 cmd-shift-;
后跟 r
并选择在第 3 行的 imagpart
变量的开头发生的 e
目标,我们就会得到这样
用户可修改的首选项
重映射 Sublime EasyMotion 键盘快捷键
您可以通过将覆盖值输入到“User - KeyBindings”(在 OSX 的“Sublime Text 2 -> Preferences -> Package Settings -> Easy Motion”)中,来将键盘重映射为非默认值,只需确保准确复制现有的键盘绑定,并且只更改 keys
段落的第一个项目,否则它将无法工作。因此,如果您想要跳转命令为 ctrl-,
,则使用以下内容
[
{
"keys": ["ctrl+,", "<character>"],
"command": "easy_motion",
"args": {"select_text": false}
},
{
"keys": ["ctrl+shift+,", "<character>"],
"command": "easy_motion",
"args": {"select_text": true}
}
]
覆盖用于跳转的占位符字符
将它添加到您的“User Settings”文件中(在 OSX 的“Sublime Text 2 -> Preferences -> Package Settings -> Easy Motion -> Settings - User”中查找)并更改字符串,包含您希望使用的任何字符
// define the characters that we can jump to, in the order that they'll appear, they should be unique
"placeholder_chars" : "abcdefghijklmnopqrstuvwxyz01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ"
示例:仅使用 QWERTY 主键盘替换
"placeholder_chars" : "jkl;asdfHGJKL:ASDFHG"
覆盖跳转目标的高亮颜色
如果用于跳转目标的高亮颜色在您的颜色方案中不够醒目,可以通过更改此“User Setting”来覆盖它
// defines syntax highlighting scope that will be used to highlight matched jump targets
// other examples include: keyword, string, number
"jump_target_scope" : "entity.name.class"
版本
- 0.8 - 发布于 2013 年 2 月 3 日 - 更新了首选项的位置为 EasyMotion 特定文件并包含插件特定首选项文件。您需要将这些首选项迁移到该文件中,以便它们生效。
- 0.9 - 发布于 2013 年 2 月 14 日 - 移除了对输入面板的需求并实现了 easy_motion_mode 来接受按键,还允许
shift-enter
向后循环 - 1.0 - 发布于 2014 年 2 月 1 日 - 当处于插入模式(不是 vim 命令模式)时,将光标放在所选字母的右侧,而不是左侧