Why learn Emacs? 🙏
I am a big fan of command line tools, and I am convinced with the usefulness of Unix philosophy as one tool for the job. So what is emacs good for? Recently I started learning emacs (downloadable from here), and I can give you at least 5 good reasons to learn it:
- Org mode. This simple and elegant tool is the best personal organizer of all time.
- Support for Unicode. Terminals don’t support Arabic and other Unicode, Emacs is a good cross platform solution to deal with this problem.
- TRAMP. This is another great feature, you can browse files on other computers as if they were on yours.
- Info. A great tool for browsing open source software. This is how I started learning Emacs, I was looking up something else using
info
. - Buffers. A good why for organizing things.
I can go on. I can also mention IDEs, Magit, browsers, etc. In short, it is an integrated solution to the needs of a software developer. I don’t understand why people compare it to Vim, which is a better text editor, but does only that. To learn emacs, check out the mastering emacs blog, or get the book.
Org Mode
For a quick overview, watch this on youtube. To learn it, see the following references
- Info
C-h i
then click on Org Mode. - Their compact guide.
- Their reference card.
Arabic
Press C-\
and type arabic
when prompted for an input method. You can change the direction of paragraph as follows
M-x set-variable RET bidi-paragraph-direction RET right-to-left RET
Tramp
To connect to something with SSH using TRAMP, use the following syntax
/ssh:user@ip#port:/file_address
For setting it up on Windows, check out this post
Info
As mentioned before, C-h i
starts info. You can browse using this tool or use the stand alone version.
Buffers
You can move around text buffers (which can be, for example, interactive shells) easily with C-x →
or C-x ←
.
Additional Features
Integrated Shells
M-!
executes a shell command in a minibufferC-u M-!
inserts the output of the shell command into your text.
Similarly,
C-u M-|
filters the text through the shell command- If you want to test this out first in a buffer, you can do
M-|
alone. Then you can go to that buffer and copy the result if you’re satisfied with it.
See the emacs reference card for similar commands.