Neovim 抛出错误 运行 input(),在 Vim 中运行正常
Neovim throws an error running input(), runs ok in Vim
菜鸟问题,当 运行 在命令行 window 中使用 input() 的脚本时,Neovim 抛出错误,而同一脚本在 [=26] 中运行=] 8.0。例如
print('Enter your name:')
myName = input()
:! python % <- 使用前命令
Nvim 输出:
myName: Traceback (most recent call last):
File "x.py", line 2, in <module>
myName = input()
EOFError: EOF when reading a line
shell returned 1
我更喜欢 neovim 在它自己的底部 window 运行脚本的方式,而不是 vim 输出到命令行,但我必须切换到 vim 对于任何使用 input() 的脚本。
是否有 nvim.init 设置或不同的命令我可以在这里成功使用,或者这是 neovim 中的已知缺陷?我在使用最新的 vim 和 nvim.
的 wsl
我不确定您为什么会收到此错误。但是,由于您使用的是 neovim,您是否尝试过使用 built-in terminal
模拟器?以下命令可用于 运行 newovim 中的程序在新的拆分 window:
:vsplit term://python3 %
python3
是程序名,可以用其他程序代替。其中 %
是当前文件的路径。有关详细信息,请参阅 :h terminal-start
。
同样可以使用 Vim(8.0 或更高版本)通过使用命令来完成:
:term python3 %
这将再次为程序 运行ning 打开一个新的拆分。有关详细信息,请参阅 :h terminal
。
工作流的进一步优化是添加特定于文件类型的映射。在我们的例子中是 ~/.vim/after/ftplugin/python.vim
中的(类似 unix 的系统)
nnoremap <leader>r :vsplit term://python3 %<cr>
菜鸟问题,当 运行 在命令行 window 中使用 input() 的脚本时,Neovim 抛出错误,而同一脚本在 [=26] 中运行=] 8.0。例如
print('Enter your name:')
myName = input()
:! python % <- 使用前命令
Nvim 输出:
myName: Traceback (most recent call last):
File "x.py", line 2, in <module>
myName = input()
EOFError: EOF when reading a line
shell returned 1
我更喜欢 neovim 在它自己的底部 window 运行脚本的方式,而不是 vim 输出到命令行,但我必须切换到 vim 对于任何使用 input() 的脚本。
是否有 nvim.init 设置或不同的命令我可以在这里成功使用,或者这是 neovim 中的已知缺陷?我在使用最新的 vim 和 nvim.
的 wsl我不确定您为什么会收到此错误。但是,由于您使用的是 neovim,您是否尝试过使用 built-in terminal
模拟器?以下命令可用于 运行 newovim 中的程序在新的拆分 window:
:vsplit term://python3 %
python3
是程序名,可以用其他程序代替。其中 %
是当前文件的路径。有关详细信息,请参阅 :h terminal-start
。
同样可以使用 Vim(8.0 或更高版本)通过使用命令来完成:
:term python3 %
这将再次为程序 运行ning 打开一个新的拆分。有关详细信息,请参阅 :h terminal
。
工作流的进一步优化是添加特定于文件类型的映射。在我们的例子中是 ~/.vim/after/ftplugin/python.vim
nnoremap <leader>r :vsplit term://python3 %<cr>