VIM可以自动缩进SQL吗?

VIM可以自动缩进SQL吗?,sql,vim,indentation,auto-indent,Sql,Vim,Indentation,Auto Indent,“”似乎是写入SQL块的可接受格式 是否有符合本标准的Vim缩进/语法文件,或者至少已经接近 目前,我的Vim left几乎显示了所有内容,并且只缩进了某些关键字。“”具有SQL实用程序插件,该插件能够。与“”相关的讨论。通过安装python模块sqlparse pip安装sqlparse 从vim可以使用 :%!sqlformat--reindent--keywords upper--identifiers lower- 为了不附加快捷方式,我在.vimrc配置文件中添加了以下配置: auto

“”似乎是写入SQL块的可接受格式

是否有符合本标准的Vim缩进/语法文件,或者至少已经接近


目前,我的Vim left几乎显示了所有内容,并且只缩进了某些关键字。

“”具有SQL实用程序插件,该插件能够。与“”相关的讨论。

通过安装python模块sqlparse

pip安装sqlparse

从vim可以使用

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

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

autocmd FileType sql call SqlFormatter()
augroup end
function SqlFormatter()
    set noai
    " set mappings...
    map ,pt  :%!sqlformat --reindent --keywords upper --identifiers lower -<CR>
endfunction
autocmd文件类型sql调用SqlFormatter()
螺旋端
函数SqlFormatter()
设置noai
“设置映射。。。
映射,pt:%!sqlformat--reindent--keywords upper--identifiers lower-
端功能
您可以自定义一点sqlformat。请参阅

sqlformat—帮助

您可以使用以下插件:

  • 使用您喜爱的插件管理器安装
    vim autoformat
    (我更喜欢轻量级)
  • 使用
    pip安装
    sqlparse
  • 将以下行添加到vim/nvim配置中
noremap:Autoformat
让g:formatdef_sql='“sqlformat--reindent--keywords-upper-identifiers-lower-”'
设g:formatters\u sql=['sql']

如果您看到以下消息:
vim不支持python
,您应该使用python支持重建您的vim,或者安装neovim

,如果您使用的话,那么您可以添加。

vim autoformat现在默认支持sqlformat。这是我使用的解决方案…
:cocommand
带您到模糊查找器中键入de>sql.Format
你就是黄金。
noremap <F3> :Autoformat<CR>
let g:formatdef_sql = '"sqlformat --reindent --keywords upper - identifiers lower -"'
let g:formatters_sql = ['sql']