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

MultiEditUtils

作者: philippotto 全部

Sublime Text插件,为多选编辑增加了各种功能。

详细信息

  • 1.9.0
  • github.com
  • github.com
  • 7年前
  • 2小时前
  • 10年前

安装次数

  • 总数 24K
  • Win 15K
  • Mac 6K
  • Linux 4K
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 2 0 0 0 0 1 0 1 1 0 1 0 0 1 1 0 0 0 2 1 1 0 0 0 1 0 1 0 1 2 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1
Mac 2 1 0 0 0 1 1 0 1 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0
Linux 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 2 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0

README文件

源代码
raw.githubusercontent.com

Sublime MultiEditUtils test

Sublime Text 2/3插件,增强多选编辑功能。如果您不熟悉Sublime的多选功能,可以访问此页面

功能

编辑选择内容时保持大小写

在多选变量所有实例时,如果大小写不同(驼峰式、帕斯卡式、全部大写以及带有分隔符的如snake_case、dash-case、dot.case等),修改为另一个变量时会很麻烦。"保持大小写"功能可以方便地进行此操作。只需通过命令面板(或自定义按键)调用"保持大小写"并输入新的标识符。

拆分选区

Sublime有默认命令将选区拆分为行,但有时您可能想定义自己的分隔字符。MultiEditUtils的split_selection命令(默认键绑定为ctrl/cmd+alt+,)将提示输入分隔符,并使用您的输入拆分选择。空分隔符将选择区拆分为字符。

使用最后的选择扩展当前选择

有时Sublime的标准多选创建功能不够用。MultiEditUtils允许单独选择需要的部分,并通过add_last_selection命令(默认键绑定为ctrl/cmd+alt+u)合并选择。

归一化并切换区域结束

在Sublime中创建选择时,有时选择范围的结尾会在开头之前。这种情况发生在你以“反向”方式创建选择时。要解决这个问题,你可以使用MultiEditUtils的normalize_region_ends命令来标准化范围(默认快捷键为ctrl/cmd+alt+n)。当你再次执行此命令时,所有范围将翻转。

此功能在您想切换单个范围的选择结尾时也非常方便。

跳转到最后一个范围

退出多选模式时,Sublime会将光标设置为您之前选择中的第一个范围。如果这些范围分散在整个当前缓冲区中,并且您想在最后一个范围处继续工作,这可能会令人沮丧。为了避免这种情况,只需执行MultiEditUtils的jump_to_last_region命令(默认快捷键为shift+esc),光标将跳转到最后一个范围。

遍历范围

如果您想再次检查您当前的选择,MultiEditUtils的cycle_through_regions命令(默认快捷键为ctrl/cmd+alt+c)将允许您遍历活动范围。如果范围不适合一个屏幕,且您想避免在整个文件中滚动,这将非常有用。

去除选择

有时选择中包含周围空格,可能会妨碍您的编辑。strip_selection命令可以去除区域,以便删除这种空格。默认快捷键为ctrl/cmd+alt+s

删除空范围

当您拆分选择或对选择执行其他操作时,可能会发生某些范围为空,而其他范围不为空的情况。通常只有非空范围才是有趣的。《remove_empty_regions》命令将处理此事,并从当前选择中删除所有空范围。默认快捷键为ctrl/cmd+alt+r

多个选择的多快速查找

与内置的“快速查找所有”功能类似,MultiEditUtils提供了一种选择所有活动选择所有出现的选择的功能。默认情况下,如果选择为空,它将选择光标所在的单词,就像find_all_under命令一样。如果您不喜欢这种行为,请添加参数"expand": false

这些只是建议的快捷键,但您首先需要激活它们在你的键图文件中。以下是Windows/Linux中的展示

ctrl+alt+f, ctrl+alt+f   case: true       word: true

ctrl+alt+f, c            case: true
ctrl+alt+f, ctrl+c       case: false
ctrl+alt+f, w            case: true       word: true
ctrl+alt+f, ctrl+w       case: false      word: true
ctrl+alt+f, q            case: true       word: true      ignore_comments: true

此外,您可以执行一个正则表达式搜索,该搜索可以找到输入正则表达式的所有出现。它可以是一个累加的Strenght》(应用于当前选择之上)或一个强减的Strenght》(移除搜索结果)。

ctrl+alt+f, r                   
ctrl+alt+f, ctrl+alt+r          subtract: true                 
ctrl+alt+f, ctrl+r              case    : false                    
ctrl+alt+f, ctrl+alt+shift+r    subtract: true      case: false

使用选择作为字段

将选择转换为与代码段中使用字段类似的字段。当执行selection_fields命令时,所有当前选择都保存为字段,可以逐一激活。第一个字段自动激活。您可以使用tab(或默认快捷键)跳转到下一个字段,使用shift+tab跳转到上一个字段。如果您跳转到字段后面或按下esc,所有字段将重新转换为适当的选择。如果您按下shift+esc,所有字段将被删除,当前选择保持不变。

demo_selection_fields

您可以通过将以下内容添加到您的键图来绑定此命令

{ "keys": ["alt+d"], "command": "selection_fields" },

尽管使用一个带有默认选项的快捷键应该对大多数情况足够,但还有其他模式和参数是可能的。请随意忽略或按需使用它们。

参数

  • mode("smart")是执行模式,它定义了执行的操作。可能的模式有
    • push将当前选择作为字段推送。这将覆盖已推送的字段。
    • pop将推送的字段弹出为选择
    • "remove" 删除已推送的字段,但不将其添加到选中列表。与only_othertrue时的pop操作具有相同行为。
    • "add" 将当前选中字段添加到已推送字段
    • "subtract" 从已推送字段中减去当前选中字段
    • "smart" 尝试检测是否应推送、弹出或跳转到下一个字段
    • "toggle" 如果字段被推送,则弹出,否则将选中字段作为字段推送。
    • "cycle" 推送或前往下一个字段。这将循环,即如果到达最后一个字段,则跳转到第一个字段,永远不会弹出。
  • jump_forward (true) 为true时表示向前跳转,为false时表示向后跳转
  • only_other (false) 在弹出和下一个操作中忽略当前选中字段。

基于参数的更多键盘快捷方式建议

// default use of selection_fields
{ "keys": ["alt+d"], "command": "selection_fields" },
// add the current selections as a fields
{ "keys": ["alt+a"], "command": "selection_fields", "args": {"mode": "add"} },
// jump and remove current selection in selection_fields
{ "keys": ["ctrl+alt+d"], "command": "selection_fields",
  "args": {"mode": "smart", "only_other": true} },
// cancel selection_fields and remove current selection
{ "keys": ["ctrl+alt+shift+d"], "command": "selection_fields",
  "args": {"mode": "toggle", "only_other": true} },

安装

可使用Package Control 并搜索MultiEditUtils,或者将此存储库克隆到Sublime Text的“Packages”目录中。

快捷键速查表

multieditutilscheatsheetmain

感谢@AllanLRH 制作此快捷键速查表!

许可证

MIT © Philipp Otto

© 2020