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

时间:2011-01-25 13:09:45

标签: emacs plpgsql postgresql

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

2 个答案:

答案 0 :(得分:19)

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

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

-- -*- mode: sql; sql-product: postgres; -*-

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

有关Emacs文件变量here的完整详细信息(您也可以在文件中的任何位置设置它们),并且通过执行M-x sql-set-product可能最简单地找到产品名称列表,退回{ {1}}默认,然后点击TAB查看完成列表。例如“mysql”,“oracle”,“sqlite”等(我的安装中大约有十几个)。

答案 1 :(得分:16)

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

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