My reasons to use Emacs
These are some reasons why I use Emacs.
- Choosing Software.
This post is what originally inspired me to use Emacs,
and influenced my tool choices and philosophy greatly besides that.
- (info "(emacs) Intro").
Emacs's own self-summary is modest, but worth reading.
- (info "(emacs) Help").
Emacs has probably the most advanced help system of any program.
- (info "(emacs) Dired").
I do most of my navigation and manipulation of the filesystem through dired.
I especially like
(setq dired-dwim-target t).
- (info "(emacs) Wdired").
Wdired is a quite easy way to do mass-renaming of files.
- (info "(emacs) Remote Files").
Since Emacs works on remote files, I need only
of Emacs to manage all my computation everywhere.
- (info "(emacs) Projects").
A collection of commands for working with projects, greatly expanded in Emacs 28.
Especially useful in combination with envrc.el.
- (info "(emacs) Shell").
When I do use a shell, I use it inside Emacs rather than using a terminal emulator.
I never use full-screen terminal applications,
insteading using Emacs or command line equivalents,
so I never need an actual terminal.
I use Emacs to send and receive mail with notmuch, mbsync, and msmtp.
- (info "(gnus) Top").
I use Emacs to read mailing lists with Gnus,
connecting to gmane.io
I use Emacs to chat on IRC and other networks with circe and
- (info "(magit) Top").
An extremely full-featured git "porcelain".
- (info "(info) Top").
Info is a format for hypertext manuals.
In the 90s, many people disliked Info, preferring traditional non-hypertext "Unix-y" manpages.
Ironically, today documentation is mostly read in web browsers, which are even less "Unix-y".
Anyway, some software (git, Python, etc) has documentation available in Info format,
and the Emacs Info reader is a good way to refer to that documentation.
- (info "(emacs) Man Page").
Of course, one can also read man pages from Emacs.
- (info "(eww) Top").
Browsing some web sites from Emacs is convenient and fast.
- (info "(emacs) Input Methods").
With (describe-input-method "TeX")
you can, for example, type
\lambda to get λ.
- (info "(emacs) Replace").
Even simple "find and replace" is an advanced feature in Emacs.
For example, arbitrary Lisp is allowed in replacement strings:
(info "(emacs) Regexp Replace")
- (info "(emacs) Pages").
Pages are useful to separate text into sections.
- (info "(emacs) Earlier Kills").
Being able to cycle through previously-copied text is useful.
- (info "(emacs) Rectangles").
Rectangles are fairly useful in a varietry of situations,
though if text isn't aligned then a kmacro is more appropriate.