@@ -7,7 +7,7 @@ A two-way integration between Vim and IPython 0.11+
77* author: Paul Ivanov (http://pirsquared.org)
88* github: http://github.com/ivanov/vim-ipython
99* demos: http://pirsquared.org/vim-ipython/
10- * blogpost: http://pirsquared.org/blog/2011/07/28/ vim-ipython/
10+ * blogpost: http://pirsquared.org/blog/vim-ipython.html
1111
1212Using this plugin, you can send lines or whole files for IPython to
1313execute, and also get back object introspection and word completions in
@@ -76,7 +76,9 @@ Now type out a line and send it to IPython using ``<Ctrl-S>`` from Command mode:
7676 import os
7777
7878You should see a notification message confirming the line was sent, along
79- with the input number for the line, like so ``In[1]: import os ``.
79+ with the input number for the line, like so ``In[1]: import os ``. If
80+ ``<Ctrl-S> `` did **not ** work, see the `Known Issues <#known-issues >`_ for a
81+ work-around.
8082
8183``<Ctrl-S> `` also works from insert mode, but doesn't show notification,
8284unless ``monitor_subchannel `` is set to ``True `` (see `vim-ipython 'shell' `_,
@@ -164,8 +166,37 @@ the line ``let g:ipy_completefunc = 'local'`` in one's vimrc will activate the
164166IPython-based completion only for current buffer. Setting `g:ipy_completefunc `
165167to anything other than `'local' ` or `'global' ` disables it altogether.
166168
169+ **NEW since IPython 0.13 **
170+
171+ **Sending ? and ?? now works just like IPython **
172+ This is only supported for single lines that end with ? and ??, which works
173+ just the same as it does in IPython (The ?? variant will show the code, not
174+ just the docstring
175+
176+ **Sending arbitrary signal to IPython kernel **
177+ `:IPythonInterrupt ` now supports sending of arbitrary signals. There's a
178+ convenience alias for sending SIGTERM via `:IPythonTerminate `, but you can
179+ also send any signal by just passing an argument to `:IPythonInterrupt `.
180+ Here's an example. First, send this code (or just run it in your kernel)::
181+
182+ import signal
183+ def greeting_user(signum, stack):
184+ import sys
185+ sys.stdout.flush()
186+ print "Hello, USER!"
187+ sys.stdout.flush()
188+ signal.signal(signal.SIGUSR1, greeting_user)
189+
190+ Now, proceed to connect up using vim-ipython and run `:IPythonInterrupt 10 ` -
191+ where 10 happens to be signal.SIGUSR1 in the POSIX world. This functionality,
192+ along with the sourcing of profile-dependent code on startup (
193+ ``vi `ipython locate profile default`/startup/README `` ), brings the forgotten
194+ world of inter-process communication through signals to your favorite text
195+ editor and REPL combination.
196+
197+
167198---------------
168- Current issues:
199+ Known issues:
169200---------------
170201- For now, vim-ipython only connects to an ipython session in progress.
171202- The standard ipython clients (console, qtconsole, notebook) do not currently
@@ -175,7 +206,8 @@ Current issues:
175206 the standard clients. This is not a limitation of vim-ipython, but a
176207 limitation of those built-in clients, see `ipython/ipython#1873
177208 <https://github.com/ipython/ipython/issues/1873> `_
178- - The ipdb integration is not yet re-implemented.
209+ - The ipdb integration is not yet re-implemented. Pending
210+ [IPython PR #3089](https://github.com/ipython/ipython/pull/3089)
179211- If you're running inside ``screen ``, read about the ``<CTRL-S> `` issue `here
180212 <http://munkymorgy.blogspot.com/2008/07/screen-ctrl-s-bug.html> `_, and add
181213 this line to your ``.bashrc `` to fix it::
@@ -213,6 +245,12 @@ Current issues:
213245 ``monitor_subchannel `` is set. This is a bug in minibufexpl.vim and the workaround
214246 is described in vim-ipython issue #7.
215247
248+ - the vim-ipython buffer is set to filetype=python, which provides syntax
249+ highlighting, but that syntax highlighting will be broken if a stack trace
250+ is returned which contains one half of a quote delimiter.
251+
252+ - vim-ipython is currently for Python2.X only.
253+
216254----------------------------
217255Thanks and Bug Participation
218256----------------------------
@@ -221,7 +259,8 @@ you've been missed, don't hesitate to contact me, or better yet, submit a
221259pull request with your attribution.
222260
223261* @minrk for guiding me through the IPython kernel manager protocol, and
224- support of connection_file-based IPython connection (#13)
262+ support of connection_file-based IPython connection (#13), and keeping
263+ vim-ipython working across IPython API changes.
225264* @nakamuray and @tcheneau for reporting and providing a fix for when vim is
226265 compiled without a gui (#1)
227266* @unpingco for reporting Windows bugs (#3,#4), providing better multiline
@@ -242,6 +281,9 @@ pull request with your attribution.
242281* @dstahlke for setting syntax of doc window to ReST
243282* @jtratner for docs with quotes (#30)
244283* @pielgrzym for setting completefunc locally to a buffer (#32)
284+ * @flacjacket for pointing out and providing fix for IPython API change
285+ * @memeplex for fixing the identifier grabbing on e.g. non-PEP8 compliant code
286+ * @pydave for IPythonTerminate (sending SIGTERM using our hack)
245287
246288Similar Projects
247289----------------
@@ -255,6 +297,9 @@ Similar Projects
255297 output (Nico Raffo)
256298* `ipyqtmacvim `_ - plugin to send commands from MacVim to IPython Qt console
257299 (Justin Kitzes)
300+ * `tslime_ipython `_ - "cell" execution , with cells defined by marks
301+ * `vipy `_ - used vim-ipython as a starting point and ran with it in a slightly
302+ different direction. (John David Giese)
258303
259304
260305.. _vim-slime : https://github.com/jpalardy/vim-slime
@@ -263,6 +308,8 @@ Similar Projects
263308.. _vimux : https://github.com/benmills/vimux
264309.. _vimux-pyutils : https://github.com/julienr/vimux-pyutils
265310.. _ipyqtmacvim : https://github.com/jkitzes/ipyqtmacvim/
311+ .. _tslime_ipython : https://github.com/eldridgejm/tslime_ipython
312+ .. _vipy : https://github.com/johndgiese/vipy
266313
267314
268315Bottom Line
0 commit comments