How I started with Emacs
########################
:date: 2016-11-03T09:58:41Z
:category: blog
:tags: emacs
:url: 2016/11/03/how-i-started-with-emacs/
:save_as: 2016/11/03/how-i-started-with-emacs/index.html
:status: published
:author: Gergely Polonkai
Sacha Chua has a nice `Emacs chat intro `_
article back from 2013. I write this post half because she asks there about my (OK, anyone’s)
first Emacs moments, and half because I plan to do it for months now.
I wanted to start using Emacs 6(ish) years ago, and I was like “:kbd:`C-x` what”? (Note that back
around 1998, I was among the people who exited ``vi`` by killing it from another terminal after a
bunch of tries & fails like `these `_.)
I tried to come back to Emacs a lot of times. And I mean a *lot*, about every two months. I
suddenly learned what these cryptic key chord descriptions mean (``C`` is for :kbd:`Control` and
``M`` is for :kbd:`Meta`, which is actually :kbd:`Alt`), but somehow it didn’t *click*. I
remained a ViM power user with a huge pile of 3:sup:`rd` party plugins. Then `I found Nyan-macs
<{filename}2014-09-17-nyanmacs.rst>`_), which converted me to Emacs, and it is final now. Many of
my friends thought I’m just kidding this being the cause, but I’m not. I’m a huge fan of Nyan cat
(did you know there is even a site called `nyan.cat `_?) and since then I have
it in my mode line:
.. image:: {static}../images/nyan-modeline.png
:alt: Nyan modeline
…in my ``eshell`` prompt:
.. image:: {static}../images/nyan-eshell.png
:alt: eshell prompt with a Nyan cat
…and I also `zone out `_ with Nyan cat:
.. image:: {static}../images/nyan-zone.png
:alt: a text-based animation with Nyan cat
Now on to more serious stuff. After browsing through all the packages provided by `ELPA
`_, I found tons of useful (and sometimes, less useful) packages, like `Helm
`_, `company `_, `gtags
`_ (which introduced me to GNU Global, removing
Exuberant ctags from my life), `magit `_, `Projectile
`_, and `Org `_ (OK, it’s actually part of
Emacs for a while, but still). I still use these few, but in a month or two, I started to
`version control `_ my ``.emacs.d`` directory, so I
can easily transfer it between my home and work machine (and for a few weeks now, even to my
phone: I’m using Termux on Android). Then, over these two years I wrote some packages like
`GobGen `_, and a small addon for Calendar providing
`Hungarian holidays `_, and I found a lot
more (in no particular order):
* `git-gutter `_
* `multiple-cursors `_
* `origami `_
* `ace-window `_
* `avy `_
* `beacon `_
…and a lot more.
What is more important (to me) is that I started using the `use-package
`_ package, which can automatically download packages
that are not installed on my current local system. Together with `auto-package-update
`_, it is *very* practical.
In addition, I started to follow the blogs of a bunch of Emacs users/gurus. I’ve already
mentioned `Sacha Chua `_. She’s a charming, cheerful person, writing a lot
about Emacs and project management (among other things). Another one is `Bozhidar Batsov
`_, who, among other things, had an initiate to lay down the foundation of a
`common Elisp coding style `_. Another
favourite of mine is `Endless Parentheses `_, whence I got a lot
of ideas.