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

AlignTab

randy3k ALL

适用于Sublime Text的正则表达式对齐插件

详细信息

  • 2.1.11
    1.2.5
  • github.com
  • github.com
  • 6年前
  • 2小时前
  • 12年前

安装

  • 总数 168K
  • Win 99K
  • Mac 42K
  • Linux 27K
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 13 4 5 5 12 4 9 4 4 1 6 1 4 2 4 11 5 4 6 10 6 2 5 3 3 4 2 4 3 2 5 2 6 4 4 6 6 7 5 4 7 5 9 7 7 5
Mac 7 3 0 1 1 4 4 2 4 0 1 2 2 5 7 5 1 1 2 4 1 2 5 0 1 2 7 3 4 5 0 0 2 2 3 4 2 1 2 4 1 1 6 3 1 0
Linux 0 2 0 1 3 1 0 1 0 1 2 2 1 2 2 4 0 0 4 3 0 2 1 0 1 2 5 4 2 3 1 0 0 1 1 0 6 2 1 5 1 2 1 2 2 0

README

源代码
raw.githubusercontent.com

AlignTab

test codecov

Sublime Text 3最灵活的对齐插件,本插件灵感来源于优秀的VIM插件tabular

因弃用ST2支持,但无论如何,您仍然可以通过Package Control在ST2上安装AlignTab。

特点

  • 使用正则表达式对齐
  • 自定义间距、填充和对齐方式。
  • 如果没有选择行,则可智能检测对齐。
  • 支持多光标
  • 表格模式和实时预览模式

入门指南

  • 如果您只想进行简单快捷的对齐,预定义的对齐功能将帮助您。

更复杂的用法

  • 在命令面板中打开AlignTab(快捷键C+Shift+p)并输入格式为<regex>/<option>的输入。
  • 要了解更多关于正则表达式的信息,请访问这里这里
  • 选项控制列对齐、填充以及最大分割数。选项的一般语法为([rlc][0-9]*)*(f[0-9]*)?
  • 数字跟在rcl之后决定了在每列之后添加多少空格,而数字跟在f之后控制了基于<regex>进行的匹配次数。
  • 例如,c2r3f1表示
    • 第一列居中,后面跟2个空格
    • 第二列右对齐,后面跟3个空格
    • 仅使用第一个匹配项
  • 如果省略了[rlc]后面的数字,则每列之后将添加1个空格。
  • 如果省略了f后面的数字,则仅使用第一个匹配项。
  • 整个选项可以省略(即仅输入正则表达式)。在这种情况下,将使用默认选项l1f0。意味着
    • 所有列左对齐。
    • 每列之后添加1个空格。
    • 所有匹配的定界符将对齐。

关于正则表达式和选项的更多内容

  • 使用非捕获括号(?:regex)而不是捕获括号。
  • 分隔符也被视为列。
    • 例如,=/rcl表示=之前列右对齐,之后列左对齐。而=将居中(然而,由于=长度为1,因此这无关紧要)。
  • 对齐选项会遍历各个列。
    • 例如,regex/rl表示所有奇数列右对齐,所有偶数列左对齐。
  • 符号*将重复之前的对齐标志。
    • 例如r*3等于rrr,而(cr3)*2等于cr3cr3
  • (实验性)除了rcl以外,还有一个新的u标志,表示“不对齐”。

实时预览模式

表格模式

ESC键或使用命令AlignTab: Exit Table Mode退出表格模式。

安装

Package Control

示例

一些简单示例。您也可以在这里贡献示例 [链接]

快捷键

如果您想为实时预览模式获取一个快捷键,请在您的用户快捷键文件中添加以下内容。

{
   "keys": ["super+shift+a"], "command": "align_tab",
   "args" : {"live_preview" : true}
 }

对于频繁的模式,您可以在您的用户快捷键文件中考虑以下内容。更改快捷键和user_input以满足您的需求。

//align =
  {
    "keys": ["super+shift+a"], "command": "align_tab",
    "args" : {"user_input" : "=/f"}
  }

或特定于syntex的快捷键。

// latex align keybind, to align & and \\, but not \&
    {
        "keys": ["super+shift+a"], "command": "align_tab",
        "args" : {"user_input" : "(?<!\\\\)&|\\\\\\\\"},
        "context":[
            { "key": "selector", "operator": "equal", "operand": "text.tex.latex" }
        ]
    }

命名模式

为了更容易记住复杂的模式,您可以在设置文件中的字典中保存它们。要编辑模式,启动Preferences: AlignTab Settings。使用名称作为键,使用正则表达式作为值。例如,

"named_patterns": {
    "eq" : "=/f",
    // right hand side could also be an array of inputs
    "ifthen" : ["=/f", "\\?/f", ":/f"]
}

然后您只需在输入字段中使用名称而不是模式。

自定义上下文菜单

要定义上下文菜单中的新项,启动Preferences: AlignTab Context Menu并添加,例如

[
   {"caption" : "-"},
    {
      "id": "aligntab",
      "caption": "AlignTab",
      "children": [
          {
          "caption" : "{",
          "command" : "align_tab",
          "args"    : {"user_input" : "\\{"}
          }
      ]
  }
]

CJK 支持

AlignTab支持CJK字符,但您必须选择正确的字体和字号。据我所知,MinCho适用于所有中文、日文和韩文。

许可协议

AlignTab采用MIT许可协议。