如何在vim中运行make并在分割窗口中打开结果?

时间:2011-07-01 14:39:06

标签: vim ide

我使用vim进行编码。当我必须编译当前文件时,目前我使用:!g++ % && ./a.out:make。 当我按回车键并返回文件时,显示的错误/输出消失了。我希望错误和输出显示在旁边的垂直分割中。如果输出和错误流在不同的缓冲区中会很好。如何才能做到这一点? 我再次编译时应该更新错误和输出缓冲区,它不应该创建新的缓冲区。 怎么办呢?一些vim插件/功能?还是一个oneliner:P?

2 个答案:

答案 0 :(得分:45)

答案 1 :(得分:-2)

如果要编译并运行,如果编译成功。 (即!g++ % && ./a.out

使用以下行创建一个shell脚本,

g++ $1 -o /tmp/a.out && /tmp/a.out

现在像这样设置makeprg。 set makeprg=compileNrun.sh\ %

由于&&,无法将整个命令直接设置为makeprg。 如果直接在makeprg中设置,则上面的命令将扩展为,

!g++ file.C -o /tmp/a.out && /tmp/a.out 2>&1 | tee /tmp/errorFile

因此,如果编译失败,编译错误将不会重定向到错误文件; P &&优先于|