Notepad++ 寻找一种简单的文本对齐方法

Notepad++ 寻找一种简单的文本对齐方法,notepad++,Notepad++,我有一个共同的问题,我正在寻找解决办法。 我有几行相似的文本,我想自动插入文本,使它们垂直对齐 以便: x="foo" data="123" y=x x="b 4" data="12 " y=x x="baaar4" data="123aaa5" y=x x="baaaa,4" data="123dddd5" y=x 变成这样 x="foo" data="123" y=x x="b 4" data="123 " y=x x="baaar4" data="1

我有一个共同的问题,我正在寻找解决办法。 我有几行相似的文本,我想自动插入文本,使它们垂直对齐 以便:

x="foo" data="123" y=x
x="b  4" data="12 " y=x
x="baaar4" data="123aaa5" y=x
x="baaaa,4" data="123dddd5" y=x
变成这样

x="foo"     data="123"      y=x
x="b  4"    data="123 "     y=x
x="baaar4"  data="123aaa5"  y=x
x="baaaa,4" data="123dddd5" y=x

这是一个文本问题。输入来自记事本。输出将发送到记事本。这不是格式问题

您没有列出编程语言,因此下面是一些执行请求操作的C#:

int[]maxLength=newint[100];
字符串[][]拆分行=新字符串[input.Length][];
for(int i=0;i
请注意,100必须大于或等于每条线的线段数。如果你愿意的话,你可以通过一点工作使这个数字不固定


基本上,该算法基于空间分割每条线,然后为每个部分计算最大值到一个公共数组中。最后,它循环遍历所有这些分段的部分,并使用最大大小的空格(加上1以获得项目之间的空格)左对齐打印出来。

Notepad++有一个插件可以为您实现这一点。它被称为“”。它允许您根据所选字符垂直对齐文本。您可以通过记事本插件管理器安装它

下面是一个简单的使用场景。从下面的代码开始,然后按“equals”对齐,这是插件的内置快捷方式/命令

之后,您将得到以下结果:

您还可以进一步使用“align by…”命令,该命令允许您指定任意对齐字符串。在下面的示例中,我选择了“#”字符,以便将我的注释彼此对齐。这很可能是一个更长的字符串,而不是长度为1的字符串

最终结果如下:


如果要按特定字符对齐,请使用记事本++扩展名TextFX

查看:TextFX>TextFX编辑>按(,)排列多行

还有:按(=)排列多行和按(剪贴板字符)排列多行

这里有一个链接,提供编程的有用提示


我已经创建了一个Python脚本,可以与Notepad++中的Python脚本插件一起使用:

实际上正是在做我在使用选项卡时想要做的工作。
对齐而不添加字符(空格或制表符)。

Notepad++TextFX不再受支持和维护。代码对齐插件仅对齐第一个出现的列对齐字符

我使用免费在线服务解决了这个问题:

怎么做?我有的是记事本里的文字。我想我可以把数据存入数据库。但每次“列”的数量都会有所不同。我想要的是将这个文本粘贴复制到一个黑框中,点击一个按钮,然后得到输出。我认为emacs是这样的。听起来你的标签不正确,你的问题被标记为html,但拒绝了与html相关的建议。让我们称之为html开发,然后找到答案,但没有足够的“分数”来回答它。-有一个名为“记事本++”的程序插件,名为“代码对齐”。这很好地完成了任务。你是怎么做到的?这很好地完成了任务,远远好于没有额外空格的TextFX。“代码对齐”非常棒,正是我基于字符串缩进一些Java代码所需要的!不仅仅是一个角色。一个++++给编写插件的人。第一次不起作用,但在按“空格”对齐三次后,它看起来很不错,幸运的是,这个插件在我尝试时对我不起作用,但对我不起作用-尝试使用管道字符对齐ascii表只对齐一组行,不是所有的行都排在一起。@StevenM.vascellao-我觉得这是对的。这个插件不会检测到多个align char条目,如果有多个条目,则会拆分为新行。每次我尝试代码对齐插件时,它都会冻结记事本+,然后在恢复时不会执行任何操作。TextFX工作得很好。这对我来说也很有效,将TSQL结果集复制到记事本++(该选项卡分开)。我能够将大约400行乘以50列排列起来。然而,TextFX不会将tab识别为剪贴板字符,它甚至不会接受“\t”,但幸运的是,我能够用逗号替换tab,按列排列,然后再次更改逗号(幸运的是,我的sql输出中没有tab或逗号!)TextFX是一个很好的插件,但是通过
=
对齐会导致
=
和前面的字符之间没有前导空格。这正是我要寻找的,但有两个问题。首先,它不支持双字节字符内容,比如汉字或日语字符。其次,用于对齐行的
字符不支持非常常见的分隔符:Tab(
\t
)。有其他选择或解决方法吗?谢谢。TextFX为我工作,对齐由逗号分隔的数据行。代码对齐包不起作用。嗨,DUzun。你的剧本看起来很棒。然而,我安装它有困难。在我完成所有操作后,“脚本”菜单中没有任何内容,可能它与最新版本的记事本++不兼容??如果NPP文件夹中没有
doLocalConf.xml
文件,请将
AlignColumns.py
复制到`%APPDATA%\notepad++\plugins\Config\PythonScript\scripts`中。这太过分了。文本在记事本++(输入)中,OP希望格式化文本在记事本++(输出)中@anphu:问题不包括记事本++。N