Like slime, if you ignore autocompletion, arglist hints, automatic indentation of macros based on &body, M-. (jump to definition), crossreferencing, and compiler note overlays.<p>But having C-c C-c is nice!
It is close, but I would have to say that the way emacs interacts with external processes is probably my favorite feature. It is simply a paradigm that no other text editor seems to even attempt.<p>Here are some common modes that I use that interact with external processes.<p>py-shell: kind of obvious, using the python shell is sometimes awkward because of the way that python doesn't reload code.<p>pdb-mode:in any shell process, if my python code hits a pdb.set_trace() python will pop up a debugging repl. As I step through my code with pdb, emacs opens up whatever file the current stack is in to the position in the stack. I couldn't imagine debugging code without this. This functionality also exists for gdb and rdb I think, I don't use those frequently.<p>compile-mode: when I run unit tests and I get an error, compile mode lets me click or hit return on that error and instantly jump to that code in another buffer<p>shell: emacs deals with my bash shell. I can easily scroll up in the buffer to copy and paste output from previous commands. I can search backwards through not just commands I have previously run, but through previous output from the shell. When I open a file from the shell, it defaults to my current shell directory.<p>sql-mode: gives all the goodness of emacs to an sql repl. I can edit sql in another buffer, craft the query I want, and send just that query to my sql repl.
slimv is a more complete Vim+SLIME plugin that doesn't require screen:
<a href="http://www.vim.org/scripts/script.php?script_id=2531" rel="nofollow">http://www.vim.org/scripts/script.php?script_id=2531</a><p>There is a Vim+screen plugin as well for interacting with shells:
<a href="http://www.vim.org/scripts/script.php?script_id=2711" rel="nofollow">http://www.vim.org/scripts/script.php?script_id=2711</a>
<i>Yeah, Slime is great. I’m just not an Emacs fan.</i><p>I'm not an emacs fan either but I grudgingly use it everyday for R and Octave development. Vim is my preferred text editor but it can't compare to the power of emacs when working with interactive languages. Emacs viper mode is excellent though and gives access to the vi keys anywhere. I'd also recommend those that really hate emacs to try the console mode -- its much snappier and brings the monster closer to a vim-like experience.
Overall, great idea. However, it's kind of annoying to use with Python, since when you copy in a function definition, you need to go to the interpreter and hit enter an extra time to get it to work. I was going to try and fix this myself, but I'm not sure if there's any easy way to add a special case for this, since the Vim script has no way of knowing what kind of interpreter is running in the other screen session....
This is cool, but kinda hacky... I mean what if I want to use the output for say, going to the error in the copied code? Does screen have a way to attach to stdin/stdout/stderr for a process it is running? While still displaying in the host terminal as well (something akin to tee)?
This also reminds me a bit of projects along the lines of "Like Lisp, for <some non-Lisp language>!" Yes, just like it, except missing most of the good parts.