【发布时间】:2014-04-08 18:56:02
【问题描述】:
我已经开始使用 conque+ipython+vim 进行 python 开发,我想做的一件事是能够直接从 vim 运行文本块。当要复制的代码有空行或多级缩进时,使用<F9> 通常会失败。
我正在尝试编写一个 vim 函数:
- 从当前选定的行中删除任何常见的初始缩进(而不在缓冲区中修改它们),然后
- 将这些修改的行保存到一个临时文件中,并且
- 将
%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