使用ConqueTerm发送多个python行

时间:2015-11-18 18:48:16

标签: python vim ipython conque

我在Ubuntu 14.04上使用vim和ConqueTerm以及ipython(如果重要的话,使用-pylab)。当我选择多行并使用F9发送它们时,所有内容都粘贴在同一行中,如this question中所示。我可以尝试重新映射,就像海报为那个问题所做的那样,但我没有在同一台机器上使用matlab或在Mac上使用ConqueTerm + ipython这个问题。有没有办法解决这个问题,所以我可以继续使用F9?谢谢!

1 个答案:

答案 0 :(得分:1)

解决方案

这是我第一次使用vimscript,但我能够修改插件,以便正确发送所选行。

我将send_selected中的conque.vim(or another mirror)\autoload\conque_term.vim功能更改为:https://gist.github.com/freencis/28e351e3bb267a8522e1dff53436fb8d

功能名称相同,只需去那里替换它。

我做了什么

我会跳过"解释错误的原因"部分原因是因为我没有完全掌握最初的实施。

因此,在互联网上搜索了一下如何从插件中访问文件的文本后,我最终找到了一种从文件中的特定行获取文本的方法:使用{{1功能。幸运的是,已经有Conque的功能将线路发送到终端并执行它(由'send_file使用),所以我只是使用它。

然后,这只是知道哪些线被选中并得到那些线的问题。这导致了getline函数,它以不同的方式返回行号。其中一个是标记,在这种情况下是&#39;&lt;,&#;来自视觉选择的标记。不幸的是,我也不知道如何解释这些,但是调用lineline("'<")分别给我选择了开始和结束行。

这就是vimscript编程部分,:帮助真的是一个救生员。传统的编程只是循环遍历行号,从中获取文本并将它们发送到终端。

备注

这是我第一次使用vimscript(我只使用vim一个月),所以我确定它可能不是正确的方法,而且我更换了一个功能,所以我只是将其分享为快速黑客。任何反馈都表示赞赏。

道具http://learnvimscriptthehardway.stevelosh.com/,它帮助了我很多语言,我从来没有想到它可以访问

抱歉任何不好的英语。和平