在vim中保存所选线路,以便在conque中运行

在vim中保存所选线路,以便在conque中运行,vim,Vim,我已经开始使用conque+ipython+vim进行python开发,我想做的一件事是能够直接从vim运行文本块。当要复制的代码有空行或多个缩进级别时,使用通常会失败 我正在尝试编写一个vim函数: 从当前选定的行中删除任何常见的初始缩进,而不在缓冲区中修改它们,然后 将这些修改的行保存到临时文件,然后 将%run文件\n写入conque缓冲区 但是我以前从未编写过vimscript,我对vim的内部结构的理解也是零碎的 到目前为止,我总结了: fun! runlines() let

我已经开始使用conque+ipython+vim进行python开发,我想做的一件事是能够直接从vim运行文本块。当要复制的代码有空行或多个缩进级别时,使用通常会失败

我正在尝试编写一个vim函数:

从当前选定的行中删除任何常见的初始缩进,而不在缓冲区中修改它们,然后 将这些修改的行保存到临时文件,然后 将%run文件\n写入conque缓冲区 但是我以前从未编写过vimscript,我对vim的内部结构的理解也是零碎的

到目前为止,我总结了:

fun! runlines()
    let selectedlines = getbufline('%', line('<'), line('>'))

    " TODO : delete any initial indentation shared by all lines

    let temp = tempname().".py"
    call writefile(selectedlines, temp)

    " TODO: load into the conque buffer 

    au VimLeave * exe "!rm -f" temp
endfun
我认为如果有人能提供关于如何完成待办事项的指导,这应该是可行的。

你试过了吗?
它能够在可视模式下发送行或块。

我最初尝试过它,但它与我使用的服务器上的设置不兼容:我无法从vim中打开ipython会话。我没有能力通过python或vim安装来修复任何问题。