(use-package ghostel :bind (:map ghostel-semi-char-mode-map ("C-s" . consult-line) ;; I'm used to go up/down the shell history with M-n/p from eshell ;; Simulate this behavior in ghostel by sending C-p and C-n ("M-p" . (lambda () (interactive) (ghostel-send-key "p" "ctrl"))) ("M-n" . (lambda () (interactive) (ghostel-send-key "n" "ctrl"))) :map project-prefix-map ("m" . ghostel-project) ("M" . ghostel-project-list-buffers)) :config (add-to-list 'project-switch-commands '(ghostel-project "Ghostel") t) (add-to-list 'project-switch-commands '(ghostel-project-list-buffers "Ghostel buffers") t) (add-to-list 'ghostel-eval-cmds '("magit-status-setup-buffer" magit-status-setup-buffer))) (use-package ghostel-eshell :ensure nil :hook (eshell-load . ghostel-eshell-visual-command-mode)) (use-package eshell :ensure nil :bind (("C-x m" . eshell)) :custom (eshell-destroy-buffer-when-process-dies t)) (provide 'shell-config)