如何使编辑器在所选文本中按单个字符垂直对齐?

时间:2019-02-12 17:27:18

标签: alignment edit geany

假设我有一个文档(它恰好是BibTeX文件),里面充满了成千上万个这样的条目:

@article{hierarchy_problem_1,
    title = {Dynamics of spontaneous symmetry breaking in the Weinberg-Salam theory},
    author = {Susskind, Leonard},
    journal = {Physical Review D},
    volume = {20},
    number = {10},
    pages = {2619--2625},
    year = {1979},
    month = {November},
    publisher = {American Physical Society}
}

我希望能够选择其中一个,或者也许一堆,然后将它们更改为由单个字符(在这种情况下为“ =”字符)垂直对齐,这样它就变成了这样的样子:

@article{hierarchy_problem_1,
    title                = {Dynamics of spontaneous symmetry breaking in the Weinberg-Salam theory},
    author               = {Susskind, Leonard},
    journal              = {Physical Review D},
    volume               = {20},
    number               = {10},
    pages                = {2619--2625},
    year                 = {1979},
    month                = {November},
    publisher            = {American Physical Society}
}

我现在选择的编辑器是Geany(它可以将选定的文本发送到一些外部的自定义命令-上下文菜单>“格式”>“将选择发送到”),但是我会娱乐一下。请记住,论文的某些标题可以包含“ =”字符,那么这样做的好方法是什么?我至少会怀疑,诸如“ journal”之类的文本后一行中的“ =”字符将是该字符的第一个实例,然后它会获得空格(我宁愿避免标签)添加到它的前面,以使其最终位于第30列。有什么方法可以做到这一点?

1 个答案:

答案 0 :(得分:0)

也许Shell / regex专家可以构建自定义命令中使用的脚本。

就您个人而言,我会:

  1. 在文档中将列表设置为<tab>
  2. 搜索并用=替换 <tab><tab><tab><…>=
  3. 使用vertical selection(需要插件Extra Selection)调整距离。