1.4 KiB
1.4 KiB
Eshell configuration
(require 'eshell)
Truncate the eshell buffer when it gets larger than
eshell-buffer-maximum-lines
number of lines. For some reason I have
to use the eshell-load-hook
instead of just relying on eshell.el
and esh-mode.el
being loaded because it seems that
with-eval-after-load
loads this file before eshell.el
is actually
loaded.
(defun oni:enable-truncating-eshell-buffers ()
(add-to-list 'eshell-output-filter-functions 'eshell-truncate-buffer))
(add-hook 'eshell-load-hook #'oni:enable-truncating-eshell-buffers)
Show the status of each command in the fringe of the eshell buffer.
(add-hook 'eshell-mode-hook 'eshell-fringe-status-mode)
Close the buffer when C-d is pressed and we're at the end of the buffer.
(defun oni:eshell-C-d ()
"Call `delete-char' or close the buffer if it fails."
(interactive)
(condition-case err
(call-interactively #'delete-char)
(error (if (and (eq (car err) 'end-of-buffer)
(looking-back eshell-prompt-regexp nil))
(kill-buffer)
(signal (car err) (cdr err))))))
(defun oni:set-eshell-C-d ()
(define-key eshell-mode-map (kbd "C-d") #'oni:eshell-C-d))
(add-hook 'eshell-load-hook #'oni:set-eshell-C-d)