如何在 Sublime Text 3 中对齐文本?
How to align texts in Sublime Text 3?
我使用名为 AlignTab 的 Sublime Text 3 插件来对齐我的代码,如下所示:
Version : 1.4.1
Author : Ken Wheeler
Website : http://kenwheeler.github.io
Docs : http://kenwheeler.github.io/slick
Repo : http://github.com/kenwheeler/slick
Issues : http://github.com/kenwheeler/slick/issues
现在,我希望我的文本像这样留在冒号旁边:
Version: 1.4.1
Author: Ken Wheeler
Website: http://kenwheeler.github.io
Docs: http://kenwheeler.github.io/slick
Repo: http://github.com/kenwheeler/slick
Issues: http://github.com/kenwheeler/slick/issues
我该如何完成?
您可以使用 AlignTab 执行此操作,无需其他插件。你只需要使用 the more advanced regex functionality as described on the GitHub page.
调出 Command Palette
(Ctrl+Shift+P Windows 或 cmd+shift+P on Mac), 输入在 "AlignTab" 中,按回车键,然后输入并按回车键:
:/r0clf1
支持@Hank 包括 0 spaces 选项,甚至没有意识到他不想要 space.
解释:
:
找到冒号
-
/
说好吧现在来谈谈我希望你用冒号做什么
r
表示右对齐第一列
0
表示右列后0space秒
c
表示居中中间列(这只是冒号,所以它什么都不做)
l
表示右列左对齐
f1
意味着只对行中的第一个匹配项执行此操作
AlignTab docs 或链接示例提供了足够的信息来满足您的需求。
如果您突出显示原始文本,然后 Cmd + Shift + P(或 windows 上的 Ctrl Shift P)并进入 AlignTab 实时预览模式,您可以输入正则表达式并使用特殊的 rlc 语法。
语法是:
\s+:/r0c1l
正则表达式是 \s+(大于 1 spaces)到第一个 :,然后是 r0(右对齐,0 spaces),c1(中心标记以 1 填充到右),然后是 l(左对齐剩余的文本)。表达式末尾不需要 'f1',因为正则表达式与第一个冒号之前的前导 space 匹配(根据您的示例)。
如果您新写的文本没有预先格式化,例如:
Version: 1.4.1
Author: Ken Wheeler
Website: http://kenwheeler.github.io
Docs: http://kenwheeler.github.io/slick
Repo: http://github.com/kenwheeler/slick
Issues: http://github.com/kenwheeler/slick/issues
然后在下面转换成您想要的格式,将是:
:/r0c1lf1
转换如下:
Version: 1.4.1
Author: Ken Wheeler
Website: http://kenwheeler.github.io
Docs: http://kenwheeler.github.io/slick
Repo: http://github.com/kenwheeler/slick
Issues: http://github.com/kenwheeler/slick/issues
这个结果实际上比你原来的问题文本更好,因为没有前导 space。
P.S。我发现 AlignTab 文档中的 Tablular 示例稍微有用一些,尽管它并不代表 AlignTab 的实际实现。
我使用名为 AlignTab 的 Sublime Text 3 插件来对齐我的代码,如下所示:
Version : 1.4.1
Author : Ken Wheeler
Website : http://kenwheeler.github.io
Docs : http://kenwheeler.github.io/slick
Repo : http://github.com/kenwheeler/slick
Issues : http://github.com/kenwheeler/slick/issues
现在,我希望我的文本像这样留在冒号旁边:
Version: 1.4.1
Author: Ken Wheeler
Website: http://kenwheeler.github.io
Docs: http://kenwheeler.github.io/slick
Repo: http://github.com/kenwheeler/slick
Issues: http://github.com/kenwheeler/slick/issues
我该如何完成?
您可以使用 AlignTab 执行此操作,无需其他插件。你只需要使用 the more advanced regex functionality as described on the GitHub page.
调出 Command Palette
(Ctrl+Shift+P Windows 或 cmd+shift+P on Mac), 输入在 "AlignTab" 中,按回车键,然后输入并按回车键:
:/r0clf1
支持@Hank 包括 0 spaces 选项,甚至没有意识到他不想要 space.
解释:
:
找到冒号-
/
说好吧现在来谈谈我希望你用冒号做什么 r
表示右对齐第一列0
表示右列后0space秒c
表示居中中间列(这只是冒号,所以它什么都不做)l
表示右列左对齐f1
意味着只对行中的第一个匹配项执行此操作
AlignTab docs 或链接示例提供了足够的信息来满足您的需求。
如果您突出显示原始文本,然后 Cmd + Shift + P(或 windows 上的 Ctrl Shift P)并进入 AlignTab 实时预览模式,您可以输入正则表达式并使用特殊的 rlc 语法。
语法是:
\s+:/r0c1l
正则表达式是 \s+(大于 1 spaces)到第一个 :,然后是 r0(右对齐,0 spaces),c1(中心标记以 1 填充到右),然后是 l(左对齐剩余的文本)。表达式末尾不需要 'f1',因为正则表达式与第一个冒号之前的前导 space 匹配(根据您的示例)。
如果您新写的文本没有预先格式化,例如:
Version: 1.4.1
Author: Ken Wheeler
Website: http://kenwheeler.github.io
Docs: http://kenwheeler.github.io/slick
Repo: http://github.com/kenwheeler/slick
Issues: http://github.com/kenwheeler/slick/issues
然后在下面转换成您想要的格式,将是:
:/r0c1lf1
转换如下:
Version: 1.4.1
Author: Ken Wheeler
Website: http://kenwheeler.github.io
Docs: http://kenwheeler.github.io/slick
Repo: http://github.com/kenwheeler/slick
Issues: http://github.com/kenwheeler/slick/issues
这个结果实际上比你原来的问题文本更好,因为没有前导 space。
P.S。我发现 AlignTab 文档中的 Tablular 示例稍微有用一些,尽管它并不代表 AlignTab 的实际实现。