为什么Hello world不能在vim中打印但是它在tty中工作?

时间:2015-08-07 20:48:31

标签: c++ linux vim terminal makefile

在Vim中,我输入命令:w | make。我的Makefile看起来像这样:

all:
    g++ -o main main.cpp
    ./main

main.cpp看起来像这样:

#include <iostream>
using namespace std;

int main(){
    cout << "Hello world!";
}

Vim输出说:

"main.cpp" 6L, 88C written
:!make 2>&1| tee /tmp/ve16mwu/0
g++ -o main maincpp
./main
(1 of 3): g++ -o main main.cpp
Press ENTER or type command to continue_

现在我退出Vim并运行可执行文件:$ ./main后,输出显示在终端中。

如果我在这一行添加换行符\n"Hello world!\n",那么它在Vim的输出中显示就好了。

显然,在Vim中,如果输出结尾没有\n,则输出不会显示您的最后一行文本。有解决方法吗?

1 个答案:

答案 0 :(得分:0)

endl 来自cplusplus.com

  

插入换行符并刷新

     

插入换行符并刷新流。

所以代码看起来像这样:

#include <iostream>
using namespace std;

int main(){
    cout << "Hello world!" << endl;
    return 0;
}