默认情况下,使emacs突出显示postgresql语法

And*_*hyn 16 postgresql emacs plpgsql

我使用emacs来编辑我的sql代码.我99%的时间都在postgresql plpgsql代码上工作.扩展名为.sql的所有文件都包含postgresql.我很好奇有没有办法设置sql-highlight-postgres-keywords SQL突出显示默认值而不是ANSI SQL,因为每次打开文件时切换模式都很烦人.

Dav*_*old 19

如果您需要使用不同的数据库,而不是使用挂钩在打开.sql文件时始终切换到PostgreSQL突出显示,则可以使用Emacs的文件变量功能逐个文件地设置产品.

例如,如果.sql文件的第一行是

-- -*- mode: sql; sql-product: postgres; -*-
Run Code Online (Sandbox Code Playgroud)

sql-mode将自动使用PostgreSQL突出显示.

在Emacs的文件变量的全部细节在这里(你也可以设置它们在文件中的任何地方的块),和产品名称的列表可能eaiest做发现M-x sql-set-product,退格的ansi默认值,按Tab看到完成列表.例如"mysql","oracle","sqlite"等(在我的安装中大约有十几个).


Mar*_*o F 16

通常在emacs中,如果要在每次打开某个模式时更改设置,请使用挂钩.类似的东西应该工作:

(add-to-list 'auto-mode-alist
             '("\\.psql$" . (lambda ()
                              (sql-mode)
                              (sql-highlight-postgres-keywords))))
Run Code Online (Sandbox Code Playgroud)