Eshell is a command shell implemented entirely in Emacs Lisp. Put the expression below into your ~/.emacs. ;; You can run eshell by M-x eshell (require 'eshell-auto) ;; Use pcomplete with shell-mode (require 'pcmpl-auto) (add-hook 'shell-mode-hook 'pcomplete-shell-setup) WWW: http://emacswiki.org/johnw/eshell.html