Clarify "Which terminal should I use?" in faq

This commit is contained in:
Henrik Lissner 2020-04-15 14:09:24 -04:00
parent 46b99567de
commit 333257b45f
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -772,24 +772,25 @@ Looking for a terminal in Emacs? Doom offers four modules:
+ =:term term= + =:term term=
+ =:term vterm=. + =:term vterm=.
Which do you choose? But which do you choose?
+ =eshell= is the Emacs Lisp shell. It's stable, works anywhere Emacs runs (on + =eshell= is the Emacs Lisp shell. It's stable, works anywhere Emacs runs (on
any OS) and has no external dependencies, /but/ lacks features you'll expect any OS) and has no external dependencies, /but/ lacks features you'll expect
from mature shells and tends to be slower than them. from mature shells and tends to be slower than them.
+ =shell= is a shell /for/ your shell. Think of it like a REPL for bash/zsh, + =shell= is a shell /for/ your shell. Think of it like a REPL for bash/zsh,
rather than terminal emulation. For simple back-and-forth this has the rather than terminal emulation. Due to its simplicity, you're less likely to
greatest compatibility, but the simplest feature set. It won't work with encounter edge cases (e.g. against your shell config), but it has the smallest
TUI programs like htop or vim. feature set. It also won't work with TUI programs like htop or vim.
+ =term= is Emacs' built-in terminal emulator. It's alright when it works, awful + =term= is Emacs' built-in terminal emulator. It's alright when it works, awful
when it doesn't. when it doesn't. =vterm= is almost always a better option.
+ =vterm= is as good as terminal emulation gets in Emacs atm, but requires that + =vterm= is as good as terminal emulation gets in Emacs atm, but has a few
a) Emacs be built with dynamic modules support and b) that you compile extra steps to get going. a) Emacs must be built with dynamic modules support
vterm-module.so (this is done when you first start up vterm, but may have and b) you'll need to compile vterm-module.so, which has external dependencies
additional dependencies, like libvterm). In any case, this doesn't work on (libvterm). It is automatically built when you first open =vterm=, but this
Windows. will fail on Windows, NixOS and Guix out of the box -- you're on your own
there!
Ultimately, I recommend =eshell= or =vterm=. The former is For a terminal in Emacs, =eshell= and =vterm= are generally the best options.
** How do I enable LSP support for <insert language here>? ** How do I enable LSP support for <insert language here>?
Doom supports LSP, but it is not enabled by default. To enable it, you must: Doom supports LSP, but it is not enabled by default. To enable it, you must: