
Absolute Beginner's Guide to Emacs (2012) - sytelus
http://www.jesshamrick.com/2012/09/10/absolute-beginners-guide-to-emacs/
======
Wildgoose
I have yet to encounter anything that can match the sheer flexibility of
Emacs.

For example I am currently using Org mode to write some documentation complete
with hyper-links, tables, foot notes and the option to export the results as
LaTeX, HTML, Open-Office, and so on with just a few keypresses.

It's not just an editor, or an IDE, or even a windowing system - it is a
cross-platform computing environment that can be fashioned to exactly suit
whatever purpose you require.

~~~
kowdermeister
How much time have you invested?

~~~
xte
I second to have choose Emacs as a main computing environment and since I
often here the question "how much time ..." well...

I'd like to add a note: time can't be only measured in hours, days, etc. To
learn Emacs enough to decide that's the way I'd like to interact and use my
desktop it take a very little time, in around three month I start using Emacs
as WM (EXWM), MUA (notmuch-emacs) in around two months with a "false start" on
Mu4e, main docs solution, tramp, personal finance (ledger) etc

But the real point is: I do it when I like to do, as much as I like, in my
free time. In other words I can start easily and grow as I wont and need, and
this knowledge will survive for decades to came.

With commercial software you need to invest time (and money) before start, and
after having reached a certain amount of knowledge you can't go further, you
have to keep yourself up to date following upstream changes and you new
knowledge have a very little value in the long run.

That distinction is important because too many people say "hey it took too
much time to proficiently use FOSS" completely ignoring the big picture. Good
time to learn FOSS is at school, when you have plenty of time and (in theory)
you are willing to learn, after you get the benefit for the lifetime. Another
good time is when you feel the need, in free time. You do not have to pay
something in advance, you do not have "training", "diplomas" etc, you grow at
your speed and desire, limitless.

That's the real matter, not how many hours.

~~~
badpun
> With commercial software you need to invest time (and money) before start,
> and after having reached a certain amount of knowledge you can't go further,
> you have to keep yourself up to date following upstream changes and you new
> knowledge have a very little value in the long run.

How's that different from learning to how use FOSS? Except the money
investment part.

~~~
xte
That commercial software is build normally to lock you in and lock out any
possible evolution path, the learning curve is fixed: when you learnt a
certain number of things "you are productive" and there is no more, no future.

On FOSS normally software offer many evolution paths, which means you have to
learn few thing and you can start, using the software issue or desire arise
and you learn new things in an ever grown knowledge that regularly pay off.
Also standard terminology is normally used, for instance you never find FOSS
project to invent terms like "BIA" (Cisco name for MAC address of a nic,
"burn-in address") or "Enable mode", "write terminal" and things like that.

~~~
badpun
That is certainly true for some FOSS, but not for all. Many FOSS seems to not
differ much from their non-FOSS equivalents, ex. LibreOffice, Firefox,
Blender, Eclipse.

~~~
xte
Accidentally all software you cite are born as commercial product:
LibreOffice's origins are StartOffice, originally developed by StarWriter and
after acquired by SUN; it became a FOSS project when SUN understand it can't
profit anymore from it due to Microsoft Office popularity. Firefox was born as
a commercial product (Netscape, originally an AOL product) that mimic Mosaic,
but does not use it's free code. Blender was born as an internal product of
NeoGeo, after distributed as a shareware by another company NaN and only after
nan bankruptcy as a FOSS product. Eclipse born as a commercial IBM IDE,
successors of VisualAge Micro Edition...

Of course, there are "recent" FOSS project with a design that take inspiration
from commercial products, simply because that's the way authors think/know
even if the code is free, but original FOSS software are another story.

------
Tistel
You should check out tramp-mode too. Its a killer feature that lets you edit
files remotely (AWS, Azure, even docker containers!) as if they are local. All
the stuff work, so you can do diffs between a local file and an a AWS file and
it all appears to be local. If you are editing a remote file and do a git
action (through magit) it knows to work on the remote file. You can open up
remote shells also. You just go:

CTRL-X CTRL-F then => /ssh:username@example.com:~/somefile.txt

and you get a local buffer with the contents of the remote file (via scp). All
your editing is the same as if it is local. When you save it does a scp back
to the remote machine. You can even edit in docker containers:

/docker:root@03f5f926f1ca:/etc/environment

as if they are local. Merges/diffs all just work its really great.

~~~
julienchastang
I also recommend helm-tramp for added tramp greatness for example if you
regularly access many different hosts/VMs.

Question: I often find tramp to be significantly laggy and much slower when
compared to simply sshing into the remote host. It is almost as if tramp is
opening up a new ssh connection for every command. What do people here do
about tramp lagginess? I've researched this problem but I have not found a
good solution.

~~~
anonacct37
The enable ssh mastercontrol and persistent connections.

~~~
julienchastang
@anonacct37 I've always had

ControlMaster auto

ControlPath ~/.ssh/cm_socket/%r@%h:%p

ServerAliveInterval 60

Is there something beyond that I should be doing? Does tramp need to be
configured in some special way to take advantage of the persistent connection?

------
alan_wade
I have to share it here:

[http://emacsrocks.com/](http://emacsrocks.com/)

This is an absolutely insane series of tutorials that will explode your mind
and make you feel godlike. If you want to learn why people love emacs so much,
watch this.

~~~
kgwxd
The only thing I don't like about emacsrocks is that it's not text. Videos
make for horrible reference material.

~~~
stronglikedan
I have a vendor that actually tries to submit videos as "documentation" for
the projects that they work on. I keep telling them that videos are good for
tutorials and presentations, but they are not documentation.

I catch it in the SOWs, but I missed it on the first few. They refused to
provide written documentation saying it wasn't in scope, which was their right
since it wasn't. I have never watched and critiqued videos for completeness
before or since, but they would have been better off just providing the
written docs, since they spent so much time adding and editing video content.
They still try to sneak it in the SOW as if they learned nothing, and now it's
just our little game we play.

------
drewg123
Emacs is habit forming.

I started using emacs as an undergrad in the late 80s, as it was the only way
I knew of at the time to have multiple windows open on a standard DEC VT-220
terminal. ( I did not know about screen; it was quite new at the time ). I
switched to using my UNIX account daily from VMS mainly to get access to this
feature that I saw my friends and upperclassmen using.

After I got access to an X11 based workstation in the early 90s, I was so used
to emacs that I never looked around for alternatives. I can edit simple files
in vi, but I don't use it for anything complex.

The closest I ever got to using another IDE was in the early 2000s when I was
tasked with writing drivers on MacOSX. I looked at using Xcode and quickly
returned to emacs (mostly so that I could continue to use my X11 focus-
follows-mouse environment, and not be forced to sit at a mac).

To this day, I swap my caps-lock and control keys, because that original DEC
keyboard had ctrl as the left-most key on the home row. As did the
sparcstation keyboards..

~~~
macintux
Apple too used to place the control key in the correct location. It was quite
unfortunate when Sun and Apple gave up the good fight.

~~~
Torwald
Which was the last Apple model with the Ctrl-key at the correct location?

~~~
macintux
From skimming the Wikipedia article, looks like an optional keyboard from the
Mac II/SE days was the end of that era.

[https://en.wikipedia.org/wiki/Apple_Keyboard#Apple_Keyboard_...](https://en.wikipedia.org/wiki/Apple_Keyboard#Apple_Keyboard_\(M0116\))

~~~
Torwald
Thanks. I remember having to use a third party util to do that on earlier Mac
OS X machines, but with the newer Macs you can just switch config by standard
system prefs.

------
sn41
Another subtle but important use of emacs : it is a good playground for (a
flavor of) Lisp. Together with the source code galore in site-lisp/, it is a
really good environment to learn how a full-blown system can be put together
in Lisp. [Hooks, macros, advice - all the goodies to shoot yourself in the
foot in that wonderful Lisp way!]

Also relevant is the great article by Stallman on the exact C-vs-Lisp division
of labor in emacs. This design philosophy of "bare metal" programming in a
fast language + an interpreter for flexibility is also the philosophy behind
GNU guile:

[https://www.gnu.org/gnu/rms-lisp.en.html](https://www.gnu.org/gnu/rms-
lisp.en.html)

[https://www.gnu.org/software/guile/](https://www.gnu.org/software/guile/)

~~~
loosetypes
Thanks for the first article.

“Multics Emacs proved to be a great success — programming new editing commands
was so convenient that even the secretaries in his office started learning how
to use it.”

This reminds me of a story I heard that early on at Amazon supposedly the
company used applications built onto Emacs instead of building in-house web
applications for internal use. I had a chance to talk with an early employee
but unfortunately forgot to ask about it.

~~~
NateEag
You are likely thinking of this Steve Yegge essay:

[https://sites.google.com/site/steveyegge2/tour-de-
babel](https://sites.google.com/site/steveyegge2/tour-de-babel)

Search for "Then you know Mailman", and you'll find the bit I'm thinking of.

It doesn't say they built multiple systems around Emacs, but it does say
Mailman was built in Emacs Lisp, and that they had people writing Emacs
extensions to further Mailman's functionality.

(And that their non-technical customer service folks loved Mailman.)

Edit: found more-canonical URL.

------
noelwelsh
At some point I realised maintaining my own Emacs setup was just too much
work. I've used a few Emacs setups (Prelude and Spacemacs are the ones I used
for the longest) and now I use Doom: [https://github.com/hlissner/doom-
emacs](https://github.com/hlissner/doom-emacs) It's very fast and has a lot of
built-in in niceties, and I find it easier to understand than Spacemacs.

If you use Doom make sure to use the develop branch.

~~~
simias
Oh man, your link led me to shackle[1] to make transient buffers behave and I
have wanted that for... well for as long as I've been using Emacs really, and
that's quite a long time now. I don't get how anybody is fine with Emacs'
default "let's pop this buffer anywhere, possibly hiding a useful window".

[1] [https://github.com/wasamasa/shackle](https://github.com/wasamasa/shackle)

~~~
pulisse
That looks awesome.

Emacs's default behavior in this respect is theoretically customizable, but
the mechanism for doing so (display-buffer-alist) is (to me) incomprehensible.
It seems like what Shackle does is provide a clean interface for specifying
rules that get translated into display-buffer-alist rules.

~~~
simias
Yeah I've tried a few time to customize this behavior over the years and while
I did manage to improve it somewhat it's still far from how I'd like it to be.

------
sn41
There is a strange editing mode that I stumbled on by myself, which I can do
in Emacs.

Suppose I am editing a huge file, and need to make change in some other part
without necessarily forgetting where I am. I just open a new buffer for the
same file, edit the desired area, and close the new buffer. I have the old
position restored automatically in the old buffer. Of course, this can be done
to arbitrary number of levels.

This is because Emacs separates the concept of buffer and the file it visits.
This is a basic concept, but its use in the above manner is not something I
have explicitly seen mentioned.

Do other editors (vi, eclipse, sublime) have similar features?

~~~
nicolashahn
Exact same thing works in vi/vim. I often use ctrl-o to do the same thing
(jump back to previous cursor position).

~~~
typon
The fact that Ctrl-O and Ctrl-I exist is just a tiny example of why the modern
editors just can't compete with vim and the plethora tiny productivity
features it has.

~~~
nicolashahn
Hardcore vimmer here, but I don't think you're right. I know at least VSCode
has this functionality and probably other editors as well. I don't use vim
because of it's features but more because modal editing and the keybindings
are cemented into my muscle memory. There's also the extremely lightweight
nature that let's me have several projects open in vim at once with little
resource impact. Were I to start over today, I might pick VSCode and be just
as happy.

~~~
typon
I respectfully disagree. I think VSCode's ergonomics pale in comparison to
Vim. I just mentioned Ctrl-O, but there's a hundred little other features that
I use constantly that VSCode doesn't have, and even if it does, it executes
them much slower than Vim does. If Vim's plugin system was improved, it would
blow VSCode out of the water.

------
jacobherrington
About four months ago I moved from VS Code to Spacemacs and it has been an
extremely rewarding experience. Anyone who is afraid of Emacs or Vim should
give it a try. I've heard good things about Doom and Prelude as well.

~~~
fbnlsr
Could you give us a few pointer on how you prefer working with Spacemacs
rather than with VS Code?

I've tried Vim a few times but got turned off by the slow process of learning
the multiple keyboard shortcuts to do a simple task.

~~~
Cyph0n
I'm relatively new to Vim (~4 months).

I used the "learning by doing" approach by forcing myself to use Vim to write
C and Python at work.

I had two main reasons for learning Vim: (1) Vim is _everywhere_ , so it must
be worth it to learn the basics at least; and (2) modal editing felt easier on
my wrists than the standard mouse + shortcuts approach I ended up using in
other IDEs.

Here is my advice:

1\. Start with only a theme in your .vimrc, so no plugins or non-standard key
bindings.

2\. Use Vimtutor (or any other tutorial) to learn the basics: normal vs.
insert mode, movement, manipulation, yank/paste (+ clipboard), splits,
buffers, and searching.

3\. As you write code, you will find yourself wanting to know how to do X.
This is where Google and a simple "cheatsheet" file come in. Once you find out
how to do X via Google, add an entry to your cheatsheet file (example in HTML
form: [1]).

4\. In many cases, you will find that a plugin will solve one of your issues.
Install that plugin and add it to your .vimrc. I recommend vim-plug[2] for
managing and installing plugins.

5\. There are many useful plugins out there. Two I would strongly recommend:
CtrlP[3] and NERDTree[4].

Once you have a good grasp of Vim, I would recommend exploring Emacs + Evil-
mode if you want a more complete IDE experience.

[1]: [https://assil.me/2018/11/12/vim-
cheatsheet.html](https://assil.me/2018/11/12/vim-cheatsheet.html)

[2]: [https://github.com/junegunn/vim-plug](https://github.com/junegunn/vim-
plug)

[3]: [https://github.com/kien/ctrlp.vim](https://github.com/kien/ctrlp.vim)

[4]:
[https://github.com/scrooloose/nerdtree](https://github.com/scrooloose/nerdtree)

------
LandR
I started using Emacs a few months ago and I love it.

I think I'd struggle day to day now without Org Mode. I love how easily I can
switch from something in Org Mode to something like a Clojure REPL, then to a
Powershell window and to a text editor.

If I can just get it doing C# editing / compiling I'd be very happy.

~~~
kqr
I started working in a .NET shop a few months ago and have finally sorta-kinda
gotten my Emacs configured the way I want to in terms of C#. If there are any
specifics you need help with, shoot me an email or something!

~~~
cpfohl
Would you post a gist of your config?

~~~
kqr
The entire thing is up on
[https://github.com/kqr/.emacs.d/blob/master/init.el](https://github.com/kqr/.emacs.d/blob/master/init.el)
. One would think modularity is not a word in my dictionary, though...

------
purple_ducks
I really feel VSCode is lining up to be the new goto IDE across multiple
languages.

Slightly less (directly) extensible than Emacs but still feels it can do
pretty much everything that needs doing, plus way nicer & friendlier default
UI.

~~~
zimablue
VSCode has very much opposing philosophy to Emacs. It's a Microsoft product
and it shows, they don't have standard concept of buffers/windows, so trying
to do customization is ugly.

For example, you can't easily implement a shell which moves around the windows
and can also sit on a side, because windows and sidebars are totally different
concepts in the code.

VSCode depresses the hell out of me, it's almost a summary of the bad things
of open source. Open source but most people will download it with spyware Open
source but not really built as a nice platform to be meaningfully extended
Open source and controlled by a single company Open source and used cynically
as a wedge to pull developers into your orbit Open source and not at all
written from an extensible mindset, just enough extensibility to trap people
in Open source and will dominate other offerings because it has a big name
behind it, so damages atom/emacs/etc Open source and pretty much an inferior
copy of an existing thing (Atom)

Developers who are proud of using VSCode baffle me, have a word with
yourselves.

~~~
YuukiRey
I don't usually do this "argument by argument rebuttal" but since your post is
extremely misleading I can't resist:

> pretty much an inferior copy of an existing thing (Atom)

How? For starters, it's a lot faster which appears to be a major reason why
people switch

> but not really built as a nice platform to be meaningfully extended

Well that's up for debate now isn't it? Its plugin ecosystem disagrees with a
perceived lack of extensibility.

> used cynically as a wedge to pull developers into your orbit

How does VSC do that? I use it and I've never seen it advertise other
Microsoft products or services to me.

> and controlled by a single company

Fork it.

~~~
zimablue
1\. Kind of fair, it's better in some ways and worse in others. I would
emphasise extensibility (this is after all an emacs thread) so I'd call it
worse. You don't seem to dispute that it's a copy (in terms of
engine/approach) 2\. Same as 1, having read the issues and some of the source
I stand by the statement. 3\. Ask yourself why else Microsoft would build
something 4\. Fork it is naive to the point of being dishonest. You cannot
outfork something with 10 professional developers, unless you're Stallman
doing it full time.

You only disputed some of my points, "most people will download it with
spyware", "it will damage existing more truly extensible efforts" seems to be
a pretty key ones you haven't disputed. If only those two were true it would
be enough for me to dislike it.

------
stilley2
I gave emacs another try earlier this year. First vanilla, but then I missed
vim keybindings so I installed evil. Then I switched to spacemacs. Eventually
I decided I was barely using any emacs-specific features and just went back to
vim. Vim feels so much snappier. I do miss some of the more ide features (jump
to definition, execute selected code) but it wasn't worth the overhead, imho.

~~~
purple_ducks
If there's one thing I will always be grateful to emacs for; it will be
changing Caps Lock -> Ctrl

Life changing.

~~~
FPGAhacker
I completely agree, but I have the os do that. Except on my iPad where I am
grateful for blink to have that capability.

On windows I had a special mode for caps lock via autohotkeys. Press and
release meant esc. Press followed by another key and release was ctrl-key. I
really liked that, but I couldn’t do it on Mac or iPad so I just settled on
ctrl.

My old //e has control there naturally.

~~~
thestephen
The behaviour you have for Windows is available for Mac with Karabiner-
Elements. It's tremendously helpful.

~~~
FPGAhacker
I haven’t looked at karabiner-elements for a while. Last I looked it wasn’t
able to do what I needed. I’ll go have a peek.

------
teddyh
Or take the Emacs Tour:

[https://www.gnu.org/software/emacs/tour/](https://www.gnu.org/software/emacs/tour/)

------
dctoedt
I was just reading the New Yorker article about the partnership between
Jeffrey Dean and Sanjay Ghemawat at Google [0]. I noticed this about
Ghemawat's setup: "There were four windows open: on the left, a Web browser
and a terminal, for running analysis tools; on the right, _two documents in
the text editor Emacs, one a combination to-do list and notebook,_ the other
filled with colorful code." (Emphasis added.)

I'm guessing the "combination to-do list and notebook" might have been org-
mode?

[0]
[https://news.ycombinator.com/item?id=18588697](https://news.ycombinator.com/item?id=18588697)

------
del82
OK, question from a fellow Emacs user: If a student asked you which text
editor / IDE they should learn _ab initio_, would you recommend Emacs without
reservation?

I'm not sure I would. I'll certainly never stop using it, because I've got 15+
years in it now and the key bindings and my config are as automatic as
breathing. But I wonder if the investment is worth the cost for a new user,
who could just use another excellent editor that's maybe a bit less full-
featured but with a drastically shallower learning curve?

~~~
craigsmansion
CS student? Yes, without reservations. And any other student probably as well.

Emacs is not a program just for coding. It can be used for anything that can
be expressed in a text oriented way: writing a book, a thesis, an email, etc.
And most editing commands work in exactly the same way in those contexts.

> if the investment is worth the cost

As you said: 15+ years. And that's not really any sort of exception in the
emacs world. Of all the software in existence, I'd say emacs is one of the
most likely not to stop development in my lifetime, or the lifetime of anyone
alive today (and I'm not even talking about being able to maintain it yourself
if push comes to shove).

So for anyone serious about writing anything at all, emacs is never a bad
recommendation.

------
ginko
Why not just follow the built-in Emacs tutorial that can be started with C-h
t(press CTRL+H together, then press T)?

------
satran
I have heard people say Emacs is an OS, just needs a decent editor. To me it
is a textual interface, or a text based toolkit very much similar to
Gtk/Cocoa/Qt. It provides you with an environment on which you can build upon
with Lisp.

------
losthobbies
Watching Jonathan Blow flying around Emacs on his Twitch streams is always
very impressive.

~~~
brandonmenc
So I just pulled up this video of him coding with emacs:

[https://www.twitch.tv/videos/343721241](https://www.twitch.tv/videos/343721241)

Correct me if I'm wrong, but the first two minutes is him trying to find an
instance of like, a variable or something, and he individually goes into a
bunch of files one by one and does a text search, then eventually pulls up a
third-party file search tool outside of emacs to do it.

On Jetbrains IDEs I would just hit "shift-shift" and get a project-wide search
dialog that searches across all of my files and even tells me what kind each
instance of the text string is - variable, class, etc - as I'm typing.

~~~
vvillena
Does IntelliJ support the Jai language?

In any case, "M-x helm-projectile-find-file" is the Emacs equivalent of
IntelliJ's shift-shift. It's nicely bound to "SPC p f" if you use Spacemacs.
You can also search tags (variables, symbols, classes, etc) with "SPC p g".
Plus, going for a 3rd party search tool is personal preference, Emacs can also
do that.

I'm a heavy user of both Spacemacs and IntelliJ, and while the quick search
interface of IntelliJ is awesome, Emacs also has this functionality. I assume
Jonathan's problem in that video is due to poor language tooling, plus his
personal workflow preferences.

------
wry_discontent
I used to be a heavy emacs user, but I've mostly abandoned it because I'm
lazy.

It takes a fair amount of effort to keep up with new environments. If I change
jobs (which isn't infrequent), I'll need to reconfigure a lot of the setup to
work how I like. Packages upgrade and break.

For me, I just found the amount of effort it required to keep the environment
set up nicer than, say intellij, just wasn't worth it.

Nowadays, I mostly use VS Code for a text editor, and intellij for larger
codebases. I still drop down into emacs if I need to do serious text
manipulation or weird git stuff, but that's about it for me.

------
ben509
One point any beginner's guide should mention is that the basic Emacs
navigation and kill-ring keys are also used in common utilities. The info
command is derived from emacs, but they're also used in Bash and less, and
support is fairly common in text editors and IDEs. As a beginner, you'll get
used to them much faster if you use them in more places than just your editor.

And Mac users should know that Mac OS X has had basic support for Emacs style
editing in native controls, inheriting it from NextStep.

------
j0e1
Even though this is a beginner's guide, I feel it should introduce the reader
to the Emacs way of navigating using the C-`b f p n` keys at least, let alone
their M-[] alternatives. These would significantly improve the users ability
to move around the buffer without having to keep shifting hand position to the
arrow keys.

------
icodemuch
I've been using Sublime since I started and have no complaints. That being
said I always hear about emacs referred to as the OG. I know there's positives
and negatives to both, but is there any pressing reason to switch from one to
the other?

~~~
renlo
With emacs/vim (etc) you can edit text from within a terminal, which becomes
quite helpful when you SSH in somewhere. Also, with a terminal multiplexor
like tmux or screen you can also easily jump from shell to shell, which has
personally improved my productivity substantially from when I was using GUI
based text editors like Sublime or Notepadd++.

~~~
TeMPOraL
> _With emacs /vim (etc) you can edit text from within a terminal, which
> becomes quite helpful when you SSH in somewhere._

A very underappreciated functionality. Over the past few months, a good 30% of
my work was done this way - by SSHing from my el cheapo Windows 2-in-1 to my
much more powerful Linux desktop, and using Emacs in terminal mode. With
terminal set to xterm-256, it looks almost as if it was GUI Emacs, and has
almost all the same functionalities available. I'm a remote worker now, but
this workflow adds an extra order of magnitude more flexibility to my work
day, as I can leave my environment running when I go on an errand, and pick
the work up in a long queue, or on a bus.

It's one small thing, but the power of Emacs is really in how all those small
little things compose together into a powerful environment you can use from
almost everywhere, and on almost everything.

------
Assossa
I've been using vim for a couple years now. I mostly use it for programming in
C/C++/Python. Is it worth it to learn emacs or should I just stick with vim?

------
mr_overalls
Is Emacs worth learning well if you're not primarily a software developer? For
a DBA or data engineer, for example (as I am)?

~~~
Vekz
Yes. you can use org-mode to create a living 'literate code' document of
database connections and queries. You can then execute the queries directly
from this document.

something like [https://truongtx.me/2014/08/23/setup-emacs-as-an-sql-
databas...](https://truongtx.me/2014/08/23/setup-emacs-as-an-sql-database-
client)

~~~
mr_overalls
Wow, this is fantastic!

------
pie_hacker
I think that one of the key insights of Emacs is that moving the mouse is a
very slow process relative to using the keyboard.

------
jammygit
Which is better for preventing RSI - emacs or vim?

------
plg
emacs for email: what's the current best accepted practice? I'm using Fastmail
for my email and I'm on MacOS

~~~
kqr
I have used notmuch for years now and see no reason to stop. Be warned,
however, that it does require you to set up some tooling outside of emacs as
well.

------
philipyoo
Is there something similar but for vim?

------
oytis
> Absolute Beginner's Guide to Emacs

Use vim.

------
oblio
I tried Emacs several time. The concept is cool but the execution makes it so
that for me, in practice, VS Code is better.

I'd want either:

* tabs with a good UX

or

* super powerful, easy to use, integrated command and fuzzy file search, also with a good UX.

I'd also want a terminal at least as good as the VS Code one, on Windows, to
use with Cygwin.

With Emacs I'd have to learn a big bunch of terminology no other editor uses
for a bit of flexibility while losing quite a bit of functionality.

Sadly for Emacs, I think that most devs are closer to my train of thought than
to that of existing Emacs users.

~~~
sn41
You can consider these points:

\- Tabs are not present in Emacs, but C-x C-b will list all open buffers

\+ Fuzzy file search : you can take a look at the popular Ido-mode

\+ eshell is pretty powerful, if you think about it, you have all the emacs
search functionality etc. available in a shell inside the editor itself.

I am not trying to popularise emacs, but "inflexible" is not something that
you associate with emacs. If anything, it is the bewildering array of choices
that is one drawback. Plus, you should really try:

\+ org mode : what is the standout feature now a days. You can even do
literate programming in the org mode, so can be viewed as an alternative to
Jupyter, for example.

The real gripe for me about emacs is that it is single threaded. So a long
grep launched off will freeze the entire editor.

~~~
oblio
> \- Tabs are not present in Emacs, but C-x C-b will list all open buffers

I want a passive, not an active interface. I want to be able to visually scan
the tabs. I want to be able to click them when I'm not in the mood for
keyboarding. I want the tabs and the tab bar to not be ugly as sin :) Etc,
etc. Heck, if Vim has them built-in (and Vim also has the same concept of
buffers as Emacs), surely Emacs could (should?) have them.

> Fuzzy file search : you can take a look at the popular Ido-mode

I know there's modes for that, but open up a folder in VS Code. It's seamless,
I don't need to configure it, it just works, they bundle ripgrep for me, etc.
The UI/UX are also slick.

> The real gripe for me about emacs is that it is single threaded. So a long
> grep launched off will freeze the entire editor.

Yeah, Vim is kind of like that, even though it's recently gotten async.

~~~
black-tea
You do not need to see what "tabs" are open at all times. You only need it
when you want to switch. It's also incredibly limiting. At this moment I have
127 buffers open in emacs. How would you deal with that?

~~~
oblio
> You do not need

I find it interesting that you can decide for me what I "need" or "do not
need" :)

~~~
black-tea
You can't tell me why you need it.

~~~
oblio
I can. I just did, in my original comment.

People's brains work in different ways.

~~~
black-tea
But your eyes don't. You do not need it to be there at all times. But you'll
refuse to try anything else and see that I'm right.

Emacs can do whatever you want but almost every single user switches off the
permanent tabs, buttons, scroll bars etc. as soon as they realise they can
because it is unnecessary.

------
danilocesar
Honestly, I've opened that page expecting to see a "Don't!" or "Use Vim
instead" message...

The different between Emacs and Vim tutorials nowadays is that, while both of
them have a section about how to open it, only vim has a section about how to
exit it

</joke> Ok, that's all I had...

That said, I still think that both vim and emacs are going to lose the battle
against those fancy-new-shinny-atom-sublime like editors eventually. Which is
sad (I'm a vim user), but no one wants to memorize lots of short cuts anymore.

