VIM可以自动提交SQL吗?

时间:2011-12-20 15:00:28

标签: sql vim indentation auto-indent

SQL Statement indentation good practice”似乎是编写SQL块的可接受格式。

是否存在符合此标准的Vim缩进/语法文件,或者至少是否接近?

目前,我的Vim几乎可以放下所有内容,只会缩进某些关键字。

4 个答案:

答案 0 :(得分:12)

安装python模块 sqlparse

pip install sqlparse

从vim

你可以使用

:%!sqlformat --reindent --keywords upper --identifiers lower -

为了不附加快捷方式,pt 我将以下配置添加到我的.vimrc配置文件中:

autocmd FileType sql call SqlFormatter()
augroup end
function SqlFormatter()
    set noai
    " set mappings...
    map ,pt  :%!sqlformat --reindent --keywords upper --identifiers lower -<CR>
endfunction

您可以稍微自定义sqlformat。见

  

sqlformat --help

答案 1 :(得分:10)

答案 2 :(得分:3)

您可以使用vim-autoformat插件:

  • 使用您喜欢的插件管理器安装vim-autoformat(我更喜欢轻量级vim-plug
  • 使用sqlparse
  • 安装pip
  • 将以下行添加到vim / nvim config
noremap <F3> :Autoformat<CR>
let g:formatdef_sql = '"sqlformat --reindent --keywords upper - identifiers lower -"'
let g:formatters_sql = ['sql']

如果您看到此消息:vim has no support for python,您应该使用python支持重建vim,或者为neovim安装python-client

答案 3 :(得分:3)

如果您使用coc.nvim,则可以添加coc-sql extension