使用Vim,我正在尝试将在可视模式下选择的文本管道传输到UNIX命令,并将输出附加到当前文件的末尾.例如,假设我们有一个SQL命令,例如:
SELECT * FROM mytable;
我想做类似以下的事情:
V " select text :'<,'>!mysql -uuser -ppass mydb
但是,我希望将输出附加到文件的末尾,而不是让输出覆盖当前选定的文本.你可能会看到它的发展方向.我正在使用Vim作为一个简单的SQL编辑器.这样,我不必让Vim进行编辑,调整,测试SQL代码.
如何将所选文本复制到文件末尾,选择副本并运行命令?如果您不想一遍又一遍地重复相同的命令,则可以使用q
或添加新命令来记录序列.我尝试过后者如下:
:com -range C, yank | $ | put | .,$ !rev
有了它,您可以选择一些行,然后键入:C
.这将首先拉动选择,然后转到文件的末尾,粘贴被拉动的文本并rev
在新文本上运行命令(在本例中).