Hou about this start with? This might be a kind of talking about usability, although RMS said in mail it seems not good idea to him. The folowing is an experimental implementation of readline- like interface in shell buffer. ;------------------------------------------------------------------------ ;;;; ;;;; C-z (in any buffer) pops up shell buffer. ;;;; C-p, C-n, C-a and C-l, work just like readline in a prompt line. ;;;; C-x f goes to fundamental-mode and C-z restores it again. ;;;; (require 'shell) (global-set-key "\C-z" '(lambda () (interactive) (shell) (shell-mode) (end-of-buffer))) (add-hook 'shell-mode-hook '(lambda () (define-key shell-mode-map "\C-xf" 'fundamental-mode) (define-key shell-mode-map "\C-i" 'comint-dynamic-complete) (define-key shell-mode-map "\C-a" 'comint-bol) (define-key shell-mode-map "\C-p" '(lambda (n) (interactive "p") (comint-previous-input n))) (define-key shell-mode-map "\C-n" '(lambda (n) (interactive "p") (comint-next-input n))) (define-key shell-mode-map "\C-l" '(lambda () (interactive) (recenter 0))))) ;------------------------------------------------------------------------