Starter Kit Eshell
This is part of the Emacs Starter Kit.
Starter Kit Eshell
Eshell is a great shell.
(setq eshell-cmpl-cycle-completions nil eshell-save-history-on-exit t eshell-cmpl-dir-ignore "\\`\\(\\.\\.?\\|CVS\\|\\.svn\\|\\.git\\)/\\'") (eval-after-load 'esh-opt '(progn (require 'em-cmpl) (require 'em-prompt) (require 'em-term) ;; TODO: for some reason requiring this here breaks it, but ;; requiring it after an eshell session is started works fine. ;; (require 'eshell-vc) (setenv "PAGER" "cat") ; (set-face-attribute 'eshell-prompt nil :foreground "turquoise1") (add-hook 'eshell-mode-hook ;; for some reason this needs to be a hook '(lambda () (define-key eshell-mode-map "\C-a" 'eshell-bol))) (add-to-list 'eshell-visual-commands "ssh") (add-to-list 'eshell-visual-commands "tail") (add-to-list 'eshell-command-completions-alist '("gunzip" "gz\\'")) (add-to-list 'eshell-command-completions-alist '("tar" "\\(\\.tar|\\.tgz\\|\\.tar\\.gz\\)\\'")) (add-to-list 'eshell-output-filter-functions 'eshell-handle-ansi-color)))
The eshell
directory holds alias definitions and history
information. It is much like a .bashrc
file for those who are
familiar with bash. This set the value of eshell-directory-name
to
point to the eshell
directory in this directory. The alias
file
is pre-populated with some generally applicable aliases.
(setq eshell-directory-name (expand-file-name "./" (expand-file-name "eshell" starter-kit-dir)))