在Sublime Text 2中,如何在一个参差不齐的边缘上缩进到具有多个光标的直列?

Modified on: Thu, 07 Mar 2019 19:00:03 +0800

假设我在多行中有多个游标,如下所示:

foo| barr| foobar| baz|

如何自动将每行末尾的空白推送到平坦边缘,如下所示?:

foo|
barr|
foobar|
baz|

(在这些例子中,|应该是我的光标。)

当您从初始安排中 Tab Space 时,您会得到:

foo    |
barr   |
foobar |
baz    |

这很有用,但不是我想要的。我正在寻找某种键盘快捷键,它可以让我从一个参差不齐的多光标插入到一个直列。

最佳答案

您可以使用wbond的Sublime Alignment

可能需要您将其添加到您的设置文件中(首选项>套餐设置>对齐>设置 - 用户:

// The mid-line characters to align in a multi-line selection, changing
// this to an empty array will disable mid-line alignment
"alignment_chars": ["=", "|"],
// If the following character is matched for alignment, insert a space
// before it in the final alignment
"alignment_space_chars": ["=", "|"]

替换“|”用你想要对齐的任何角色。

修改强>
正如mtoast所发现的,将"\n"添加到“alignment_chars”会产生预期的效果。 可能不需要将新行字符添加到“alignment_space_chars”,并且可能会删除该文本。然而,在我的有限测试中,我没有看到差异。

按住 control 并单击每行末尾。然后按对齐热键(对于linux,默认为 ctrl + alt + a )。你会发现光标与最远的光标位置对齐。

Edit2:如果突出显示文本块并且Sublime Alignment无法找到要在线上对齐的其他内容,则会在"alignment_space_chars"中添加换行符将删除文本(像一个等号)。

另外,如果Sublime Alignment无法找到其他要对齐的内容,则在"alignment_chars"中添加换行符将填充带有空格的行尾(或根据您的设置选项卡)以匹配最长行突出显示。

作者:,d_rail

相关问答

添加新评论