This plugin provides syntax highlighting and auto-completion support for PostgreSQL version 9.6 or above and for some of its extensions, including:
Besides, syntax highlighting for any language may be activated inside functions (see below).
If your Vim supports packages (echo has('packages')
prints 1
), I strongly recommend that you use them. Just clone this repo inside pack/*/start
, e.g.,
mkdir -p ~/.vim/pack/plugins/start git clone https://github.com/lifepillar/pgsql.vim.git ~/.vim/pack/plugins/start/pgsql
Otherwise, if you don't have a preferred installation method, I recommend installing Pathogen, and then simply copy and paste:
cd ~/.vim/bundle git clone https://github.com/lifepillar/pgsql.vim.git
For thorough documentation, see :h pgsql.txt
.
Files with a .pgsql
suffix are highlighted out of the box. If you want to highlight .sql
files using this plugin by default, add this to your .vimrc
(see :h ft_sql.txt
):
let g:sql_type_default = 'pgsql'
Alternatively, after loading a .sql
file use this command:
To set the file type in new buffers use:
:let b:sql_type_override='pgsql' | set ft=sql
Code between $pgsql$
or $$
pairs is treated as PL/pgSQL and highlighted accordingly:
You may set g:pgsql_pl
to a list of file types to be used in user-defined functions. For example, after setting:
let g:pgsql_pl = ['python']
code between $python$
pairs will be highlighted as Python:
The syntax file is generated automatically. If you want to hack it, edit src/pgsql.sql
, then execute:
cd ./src DBUSER=<user> DBHOST=<hostname> make install
When DBUSER
is omitted, postgres
is assumed. When DBHOST
is omitted, 127.0.0.1
is assumed.
The specified user must be a superuser, because the script will create a database called vim_pgsql_syntax
and a few extensions that require admin privileges. It will then proceed to extract all the keywords. Feel free to browse the source scripts to see exactly what they do.
The above command will update syntax/pgsql.vim
. Use make distclean
to drop the database (or drop it manually).
The script has been tested in macOS, but it should work on any *nix system.
This plugin was originally based on code from space::tekk (and completely rewritten).
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4