什么elisp或宏魔法可以使这个文本转换?

时间:2010-03-02 16:13:55

标签: emacs macros elisp text-formatting

我有一组格式如下的SQL语句:

INSERT INTO reports.workload (workload_id,event_time,event_type_id,agent_id) VALUES 
                             (-42000,'2010-02-23 07:30:38.941436',1,NULL);

现在,VALUES元组在开头与列名元组对齐。但是,我想要的是让元组的元素对齐,如下所示:

INSERT INTO reports.workload (workload_id,event_time,                  event_type_id,agent_id) VALUES 
                             (-42000,     '2010-02-23 07:30:38.941436',1            ,NULL);

我的elisp-fu和regexp-fu是温和的,但不足以完成这项任务。我怎么能这样做?

1 个答案:

答案 0 :(得分:5)

选择您要对齐的区域,然后键入 C-u C-x \ (这是align-regexp的快捷方式)。选择\(,\)作为正则表达式模式并在整行中重复。

有关文本对齐的更多信息,请参阅EmacsWiki中的章节AlignCommands