2011-11-04 114 views
1

道歉,如果此之前已经问过,但我感到不知所措与Vim的文档和我似乎无法想出解决办法。的Vim:地图GNU屏幕命令

我要地图Vim第F5键完成下列操作:

  1. 从Vim的视觉选择猛拉文本。

  2. 名为ipython另一个GNU屏幕会话中,执行文本的猛拉部分。

第二部分可以通过发出以下命令行参数(经由:!),如果只有我能找到一种方法,该行的双引号之间的寄存器内容粘贴来实现(但是我不知道如何):

map <F5> :!screen -x ipython -X stuff "[REGISTER 0 CONTENT]"<CR><CR> 

任何帮助将不胜感激!

+2

退房[这个以前我的回答类似的问题(http://stackoverflow.com/questions/7906858/vim-run-selected-code-in-a-persistent-repl-environment/7908050#7908050 )。 – romainl

+0

非常感谢! slime.vim的工作方式与广告完全一致,并且完全符合我的需求。我赞成你的其他答案,但如果你想让我接受它,你可以在这里转发。 – Vincent

回答

2

对于第二部分,则可以使用

:execute "!screen -x ipython -X stuff " . shellescape(@0) 
+0

谢谢尼尔,这个也很有用。 – Vincent

1

鉴于你的问题的性质 - 我鼓励你看看vim-ipython。使用这个插件,您可以发送行或整个文件IPython的执行,并取回对象自省和字补Vim里,像你得到了什么:在IPython中object?<enter>object.<tab>

如果您按照github上的链接,有几个截屏演示,你可以用它做什么。不过,它需要IPython 0.11或更高版本,并启用ZeroMQ。

+0

谢谢保罗。我已经玩过你的插件了,并发现它很棒。我也用R做了大量的交互式数据分析,所以粘液解决方案对我来说是一站式商店。但是vim-ipython肯定会留在我的雷达上。 – Vincent