【问题标题】:Saving selected lines in vim for running in conque在 vim 中保存选定的行以在 conque 中运行
【发布时间】:2014-04-08 18:56:02
【问题描述】:

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

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

  1. 从当前选定的行中删除任何常见的初始缩进(而不在缓冲区中修改它们),然后
  2. 将这些修改的行保存到一个临时文件中,并且
  3. %run file \n 写入征服缓冲区

但我以前从未编写过 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

如果有人可以就如何完成 TODO 块提供指导,我认为这应该可行。

【问题讨论】:

    标签: vim


    【解决方案1】:

    你试过https://github.com/ivanov/vim-ipython吗? 它具有在可视模式下发送行或块状的能力。

    【讨论】:

    • 我最初尝试过,但它不适用于我正在使用的服务器上的设置:我无法从 vim 中打开 ipython 会话。我没有能力使用 python 或 vim 安装来解决任何问题。
    猜你喜欢
    • 1970-01-01
    • 2012-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-11
    相关资源
    最近更新 更多