无法为neovim中运行的程序提供输入

时间:2019-09-13 09:03:36

标签: c++ python-3.x vim neovim

当我运行用C ++或python编写的代码时,无法将Input输入程序。 对于c ++

#include <stdio.h>

int main(){
    int test;
    scanf("%d", &test);
    printf("%d\n", test);
    return 0;
}

输出

:!g++ -o run test.cpp && ./run  2>&1| tee /tmp/nvimPNNwAf/3                                                                                            
32767

(1 of 1): 32767

对于python3

test = input()

输出

:!python3 test.py                                                                                                                                      
Traceback (most recent call last):
  File "test.py", line 1, in <module>
  test = input()
EOFError: EOF when reading a line

shell returned 1

我知道我可以使用:term,它将解决此问题。但是我在:term上遇到了问题。

当我输入时:

3
10 12 3 9
10 12 7 2
13 11 5 6

它应该像这样:

3
10 12 3 9
10 12 7 2
13 11 5 6
33
-1
83

但是,它输出:

3                       
10 12 3 9    
10 13                   
2 7 2    
13 11 5 6      
1             
1

如何解决此问题? (这在Vim中没有发生)

1 个答案:

答案 0 :(得分:0)

对于您问题的第一部分,这不是一个大问题,而是一个功能,因为neovim中禁用了交互式外壳,您可以在此GitHub问题https://github.com/neovim/neovim/issues/1496上看到justimk答案 解决方案是在neovim外部调用程序或使用插件来执行。