如何让 vim 拥有 python 交互式运行时窗口

如何让 vim 拥有 python 交互式运行时窗口

是否可以在 python 中打开 python 实时程序模式窗口,以便我们可以调用程序并直接查看实时结果,而不是从 vim 跳转到 CMD?这有点像 VisualStudio 设置。

答案1

在 Vim 8.* 上

基本选项

:w name-of-python-script.py    
:term python name-of-python-script.py    
:close    

这将:
- 保存脚本
- 在 vi​​m 中打开终端
- 运行脚本并显示输出
- 关闭终端窗口
- 将光标返回到原始窗口

另一个选择是(使用 ipython):

这将:
- 使用 ipython 打开一个 vim 终端
- 将编辑缓冲区保存为 python 脚本 (myscript.py)
- 使用 :term_sendkeys() 将 ipython %run cmd 发送到 :term 窗口。

此示例假设 :terminal 是缓冲区“2”

:call term_sendkeys(2, "%run myscript.py\<cr>")

'call term_sendkeys(..)' 可以映射到一个键,因此在 ipython 缓冲区中运行脚本会很高效。

:nnoremap <leader>zr :term_sendkeys(2, "%run myscript.py\<cr>")

另一个选择是(使用 python 或 ipython):

这将:
- 使用 python 或 ipython 打开 vim 终端
- 将编辑缓冲区拉到寄存器(本例中为双引号寄存器)::%y"
- 将缓冲区内容发送到 python 解释器

:call term_sendkeys(2, @")
  • 然后映射到一个键以方便使用:
:nnoremap <leader>zk :%y \| :call term_sendkeys(2, @")<CR>

相关内容