有时,一个看似简单的小费可以让世界变得不同。这些天我有足够多的白发,我很容易开始认为我已经看到了很多,但是当我经常看到同事在会议或tmux会话或其他地方工作时,我学到了一些新的和简单的东西,让我的生活明显更轻松。
Luca Ferrari 最近撰写了一篇关于在 Emacs 中使用 pgFormatter 的文章;在我选择的编辑器 Vim 中,本质上是相同的,它是我在处理复杂查询时最喜欢的快速提示之一。我不是特别想卷入编辑大战,只是本着对 Vim 用户友好合作的精神提供以下内容。
正如 Luca 所提到的,pgFormatter是一种让 SQL 查询自动可读的便捷方式。给它一些 SQL 很容易,并得到一个漂亮的结果作为输出:
$ pg_format < create_outbreaks.sql
INSERT INTO outbreak
SELECT
nextval('outbreak_id'::regclass),
extract('year' FROM now())::text || '-' || nextval('outbreak_number_seq')::text, --number
(
SELECT
first_name
FROM person TABLESAMPLE BERNOULLI (10)
LIMIT 1), -- name
NOW() - interval '1 day' * random() * 100, (
SELECT
id
FROM "user" TABLESAMPLE BERNOULLI (10)
...
在我的完美世界中,我可能会对它的一些格式决定提出质疑,例如LIMIT 1上面一行缺少缩进。但在实践中,结果对我的口味来说已经足够好了,我没有费心去研究我是否可以改进它们。我只是使用它,它对我来说已经足够了。
因为 Vim 允许我突出显示一个区域,通过外部程序将其通过管道传递,并用该程序的输出替换该区域,只需选择一段代码并输入:!pg_format如下内容即可轻松使用它:

原文标题:Formatting SQL code with pgFormatter within Vim
原文作者:Josh Tolley
原文链接:https://www.endpointdev.com/blog/2022/04/formatting-sql-vim-pgformat/
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




