PEZ*_*PEZ 18 python vim ipython
我刚刚找到了IPython,我可以报告我深深的爱.这种感情立竿见影.我认为这件事会变成持久的东西,就像我用屏幕那样.Ipython和屏幕碰巧也是最好的朋友,所以这是一个三角戏剧.纯粹是柏拉图式的,请注意.
IPython与我一起出现问题的原因非常多,因为我一般都喜欢命令提示,特别是*nix启发的提示灵感来自ksh,csh(是的,chs是一个怪物,但作为一个提示它运动很多很好功能),bash和zsh.而IPython确实感觉像是一个*nix提示骑手的家.混合系统shell和python也是一个非常好的主意.当然,在解决Python Challenge谜题时,IPython也有很多帮助.甚至非常宝贵.
现在,我也喜欢Vim.因为我在那些日子里学习了vi,所以没有回头路.当我有选择时,我就在Mac上.现在我想把我的IPython + MacVim工作流程粘在一起.到目前为止我所做的是我开始使用Ipython:
ipython -e "open -a MacVim"
Run Code Online (Sandbox Code Playgroud)
因此,当我从IPython编辑时,它启动MacVim并加载文件/模块.看起来有点像这样:
In [4]: %run foo #This also "imports" foo anew
hello world
In [5]: edit foo
Editing... done. Executing edited code... #This happens immediately
hello world
In [6]: %run foo
hello SO World
Run Code Online (Sandbox Code Playgroud)
好.我认为这可以改进.也许有办法将IPython与MacVim联系起来?请分享您的经验.当然,如果您使用TextMate或其他一些fav编辑器我也很感兴趣.也许有些课程是一般性的.
Man*_*ron 14
我使用Linux,但我相信这个技巧也可以在OS X中使用.我使用GNU Screen按照本技巧的建议从Vim发送IPython命令.我是这样做的:
首先,你应该打开一个终端并启动一个名为'ipython'的屏幕会话或任何你想要的,然后启动IPython:
$ screen -S ipython
$ ipython
Run Code Online (Sandbox Code Playgroud)
然后你应该把它放在你的.vimrc中:
autocmd FileType python map F5 :w<CR>:!screen -x ipython -X stuff $'\%run %:p:h\n'<CR><CR>
Run Code Online (Sandbox Code Playgroud)
然后当你点击F5时,它会告诉Screen在之前创建的'ipython'中执行命令'%run file',其中file是Vim中的当前缓冲区.
你可以调整它来从Vim执行你想要的IPython命令.例如,我使用这个:
autocmd FileType python map <F5> :w<CR>:!screen -x ipython -X stuff $'\%reset\ny\n\%cd %:p:h\n\%run %:t\n'<CR><CR>
Run Code Online (Sandbox Code Playgroud)
这将执行%reset(对提示回答"是"),然后切换到vim中当前缓冲区所在的目录,然后%运行该文件.如果您在IPython中激活%pdb,这将特别有用.
不要忘记你需要一个名为'ipython'的活动屏幕会话,其中运行IPython.
如果你喜欢Emacs.对IPython 有很好的支持.
这个问题现在已经过时了,但仅供参考 - 如果您在启用ZeroMQ时使用IPython 0.11,请查看vim-ipython(旧版本附带0.11).
使用这个插件,您可以发送行或整个文件IPython的执行,并取回对象自省和字补Vim里,像你得到什么:object?<enter>和object.<tab>在IPython中.
在这篇文章中看一下这个插件的两个截屏视频.
| 归档时间: |
|
| 查看次数: |
4391 次 |
| 最近记录: |