четверг, 7 июля 2016 г.

Ключевые слова и vim

В документации ключевые слова PostgresSQL написаны в верхнем регистре. Действительно, так удобно читать команды SQL.

Но писать код в разных регистрах не очень удобно. 
Для упрощения ввода, в vim можно настроить автоматическую замену слов. Например, после выполнения команды

:ab select SELECT

набранное в нижнем регистре select будет преобразовано в верхний.

Список ключевых слов выдает функция pg_get_keywords().
Остается сформировать файл с нужными командами и выполнять его при запуске редактора.

psql <<EOF
\pset format unaligned
\pset tuples_only on
\o ~/.vim/pg_keywords_abbr
select 'ab '||t.a||' '||upper(t.a) from pg_get_keywords() as t(a,b,c);
EOF


И строка в ~/.vim/vimrc для загрузки автозамен при редактировании файлов с расширением sql:

au BufNewFile,BufRead *.sql source ~/.vim/pg_keywords_abbr