1.7 KiB
1.7 KiB
Terminal
I've been using eat (Emulate A Terminal) in place of vterm lately as it has better emacs integration without too big of a performance hit. It doesn't handle fancy terminal applications quite as well, but so far has performed well.
(use-package eat
:ensure (:type git
:host codeberg
:repo "akib/emacs-eat"
:files ("*.el" ("term" "term/*.el") "*.texi"
"*.ti" ("terminfo/e" "terminfo/e/*")
("terminfo/65" "terminfo/65/*")
("integration" "integration/*")
(:exclude ".dir-locals.el" "*-tests.el")))
:hook
(eat-mode-hook . eat-char-mode)
(eshell-load-hook . eat-eshell-mode)
(eshell-load-hook . eat-eshell-visual-command-mode)
:custom
(eat-kill-buffer-on-exit t)
:config
(setopt eat-shell-prompt-annotation-delay 0)
(setopt eat-very-visible-cursor-type '(t nil nil))
(setopt eat-default-cursor-type '(t nil nil))
(setq process-adaptive-read-buffering nil)
(setq read-process-output-max (* 4 1024 1024))
;; Compile terminfo if needed
(eat-compile-terminfo))
Many of these settings are there to reduce flickering. They may not be needed long term.
Eshell
I eshell quite often. Here are some plugins that can add some missing functionality beyond what eat-shell-mode gives.
eshell-venv
Eshell-venv is an Emacs package providing functions for activating and deactivating Python virtual environments in Eshell.
(use-package eshell-venv
:ensure
(:repo "https://git.sr.ht/~struanr/eshell-venv")
:hook
(eshell-mode . eshell-venv-mode))