如何在不锁定Vim的情况下运行当前python脚本?

如何在不锁定Vim的情况下运行当前python脚本?,python,windows,vim,Python,Windows,Vim,要在Vim中运行当前Python脚本/文件,请使用以下命令: :!python % 问题是,这会锁定Vim,因此在关闭cmd窗口之前,我无法查看或编辑Vim中的文件 这是给Windows的 如何在不锁定Vim中的当前脚本/文件的情况下运行Python脚本?如果脚本没有输出或流式输出到文件,请尝试此操作 :!python % & 如果您的脚本没有输出或流式输出到文件,按enter键将返回到vim :!python % & 按enter键应该会返回到vim,vim在异步运行时会

要在Vim中运行当前Python脚本/文件,请使用以下命令:

:!python %
问题是,这会锁定Vim,因此在关闭cmd窗口之前,我无法查看或编辑Vim中的文件

这是给Windows的


如何在不锁定Vim中的当前脚本/文件的情况下运行Python脚本?

如果脚本没有输出或流式输出到文件,请尝试此操作

:!python % &

如果您的脚本没有输出或流式输出到文件,按enter键将返回到vim

:!python % &

按enter键应该会返回到vim,vim在异步运行时会遇到问题,有几种方法可以解决这个问题,但最简单的方法是获取一个可以为您实现这一点的插件

请尝试tpope的分派:


然后您可以运行
:Start!python%
在后台运行它。

Vim在异步运行东西时遇到问题,有几种方法可以解决这个问题,但最简单的方法是获取一个插件,它可以为您实现这一点

请尝试tpope的分派:


然后您可以运行
:Start!python%
在后台运行它。

在Unix上,您可以将
&
附加到命令(shell功能);Windows Vim具有特殊的
:!为此启动
命令

:!start python %

在Unix上,可以将
&
附加到命令(shell特性);Windows Vim具有特殊的
:!为此启动
命令

:!start python %

或者简单地执行
pyf%
或将其映射到某个键,例如
map pyf%
,或者简单地执行
pyf%
或将其映射到某个键,例如
map pyf%
自8.0版以来,如果您的Vim是使用
+终端
功能编译的,编辑其他文件时,可以在单独的窗口中查看脚本的输出

:ter python %


自8.0版以来,如果您的Vim是使用
+终端
功能编译的,您可以在编辑其他文件时在单独的窗口中看到脚本的输出

:ter python %


我通常在tmux窗口中使用vim,将其水平分成两部分,并使用以下映射,假设我想在下面的窗格(窗格编号1)中运行python脚本

nnoremap,s:execute'!tmux发送键-T1“python”。展开('%:p')。''输入'

如果您现在按
,s
,这将在窗格1中执行您的脚本

我通常在tmux窗口中使用vim,将其水平拆分为两部分,并使用以下映射,假设我要在下面的窗格(窗格编号1)中运行python脚本

nnoremap,s:execute'!tmux发送键-T1“python”。展开('%:p')。''输入'

如果您现在按
,s
,这将执行窗格1中的脚本

仍然存在相同的问题,并且还会显示&character原因和错误消息。根据此链接,在windows上它似乎无法工作:!START\B python%应该一直有效,直到出现相同的问题,并且出现&字符原因和错误消息。根据此链接
,在windows上它似乎不起作用!START\B python%
应该能完全满足我的要求!正是我要找的!