使用mysql命令行客户端时,我喜欢使用\ e(编辑)将以前的sql语句放入Vim进行编辑。当我这样做时,它包含我上次编辑sql时添加的所有漂亮的换行符和缩进。但是,我只能使用我输入的最后查询来获取此功能。如果我使用向上箭头键找到我要在Vim中编辑的sql,然后重新输入它,然后使用\ e,我可以将其恢复到Vim中,但所有换行和缩进我曾经格式化sql丢失。
如何在Vim中恢复我之前的sql,以及格式良好的缩进和换行符,即使它不是mysql命令历史记录中的最后一行?
答案 0 :(得分:1)
作为替代方案,从Vim执行查询而不是编辑来自mysql
的查询。有很多插件可以帮助实现这一目标:
vim-pipe和clam.vim都运行任何shell命令,并且不限于mysql。
我创建了自己的mysql runner Cupcake。然而,我从来没有打算把它打包成一个插件,因为我发现那里已经有很多替代品而且它并没有真正添加任何新东西。
答案 1 :(得分:0)
使用vim vim \e
在MySQL客户端中编写复杂查询时,实际上可以通过:w foo
保存不同版本的查询。
文件将存储在当前目录(运行mysql
时所在的目录)中。尽管这不能让您编辑完整格式的任意先前查询,但可以保存和编辑各种格式的规范查询 ,您可以从中继续发展最终查询。我个人认为此限制是有帮助的,因为它可以帮助我确定开发查询的方向。