Какая элисп или макромагия может сделать это преобразование текста?
У меня есть набор операторов 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 ответ
Решение
Выберите область, которую вы хотите выровнять, и введите Cu Cx \ (это ярлык для align-regexp
). выберите \(,\)
в качестве регулярного выражения и повторите его по всей строке.
Подробнее о выравнивании текста см. Главу AlignCommands в EmacsWiki.