I think this is different because I'm full on opening an instance of vim. (I didn't know about GNU Readline though and it looks awesome - I'll definitely try and work it into a project at some point).
Mine's not interpreter agnostic because I had to mess with the stack frames to insert variables into the global context.
But yours is able to do that because your importing a top-level edit function while I was pretty set on dynamically creating a vim() method and not having to import a function (just a module).
I love how yours lists the globals though! I might just have to bite that feature :).
And this is why I post code online - to find out the right way to do things. PYTHONSTARTUP is exactly 100% what I was looking for, but didn't know existed.
IPython can also be run as a server (ipython kernel[1]) and then connected to via a vim plugin called vim-ipython [2]. This means you can do the other direction: evaluate a vim buffer in a running IPython session, and then connect to that IPython session to actually use the code you wrote in vim.
Nice. Reminds me of a feature I have in Glass Table[0]:
Define a procedure, macro, or record type called foo:
(define (foo x) ...)
Now say:
,(edit foo)
Your definition appears in the editor of your choice. (Try running GT within Emacs and setting your EDITOR to "emacsclient".) Make changes; provided no errors occurred (like missing parens) the changes take effect when you save and quit.
It's a nice little workflow; if you squint, it almost feels like a CADR...
17 comments
[ 3.3 ms ] story [ 52.1 ms ] threadNeat regardless.
Just so others know, you have to put bash in vi mode and press Esc before v (otherwise it's ctrl+x ctrl+e).
set -o vi
[1]: http://ipython.org/ipython-doc/dev/config/editors.html
Haven't looked at the code yet, but I wrote:
https://github.com/Julian/dotfiles/blob/master/.config/pytho...
which does something similar (and is interpreter agnostic as it looks like this is).
But yours is able to do that because your importing a top-level edit function while I was pretty set on dynamically creating a vim() method and not having to import a function (just a module).
I love how yours lists the globals though! I might just have to bite that feature :).
See:
[1] http://wiki.ipython.org/Cookbook/Connecting_to_a_remote_kern...
[2] https://github.com/ivanov/vim-ipython
Define a procedure, macro, or record type called foo:
Now say: Your definition appears in the editor of your choice. (Try running GT within Emacs and setting your EDITOR to "emacsclient".) Make changes; provided no errors occurred (like missing parens) the changes take effect when you save and quit.It's a nice little workflow; if you squint, it almost feels like a CADR...
[0] https://github.com/bitwize/glasstable