everytime the vim  vs emacs thread comes up i like to make these two 
points:

>> C-X2-C-Xo m-x shell 

and that's ALL you have to do to get a command line in emacs :)

> That's scary. Try this instead:

ok, but this is scarier:

> (defvar ys::eshell-wins nil)
> (global-set-key "\C-cs" (lambda (win-num)
> 			  (interactive "p")
> 			  (message "win-num %s" win-num)
> 			  (let ((assoc-buffer (cdr (assoc win-num ys::eshell-wins))))
> 			    (if (not (buffer-live-p assoc-buffer))
> 				(progn ; the requested buffer not there 
> 				  (setq assoc-buffer (eshell t))
> 				  (setq ys::eshell-wins (assq-delete-all win-num ys::eshell-wins))
> 				  (add-to-list 'ys::eshell-wins (cons win-num assoc-buffer))))
> 			    (switch-to-buffer assoc-buffer)
> 			    (rename-buffer (concat "*eshell-" (int-to-string win-num) "*"))
> 			    assoc-buffer)))

one advantage is that vim has is that you can extend your editor using 
the  (or all for that matter) scripting language of your choice, 
vimscript, tcl, perl, ruby, python. to extend emacs you use something 
like have the lisp code above.

another advantage is that if you're a touch-typist, vim is very 
efficient at editing code. i think it's very handy that to delete 5 
lines of text you can type: 5dd or do it the long way: Vjjjjjd

compared to emacs: C-spacebar, cursor to your target, C-w

the first key combo assumes your terminal will support it otherwise 
you're stuck with:  M-x set-mark-command





-- 
http://home.cogeco.ca/~tsummerfelt1
telnet://ventedspleen.dyndns.org