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 ithen 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.