Emacs an editor of a lifetime

Emacs is one of the oldest and weirdest programs I use, but I just recently started to appricate it more and more. I gave it a try when I was writing my master thesis, but I had no idea what I was doing. (not to say that I understand it now, completly, just more, just enough). I stumbled on this editor when I was planning on learning Elixer, and looked on the internet for an IDE for this. Somebody recommended spacemacs and emacs and I was intrigued. I still didn’t write a single line of Elixer code, but I did get sucked in the possibilities of this editor. I use it now for almost everything which involves text-writing on my computer:

  • Scientific writing, I wrote a manuscript in Emacs, used org-ref for the references and exported the result to Microsroft Word using pandoc.
  • Python, I write all my Python code in Emacs now
  • All other writing, including this website, I do in org-mode, it is just wonderful.

Why?

The main reason why I like this editor is that it can do everything; writing code, writing text, accessing all the code tools. Normally when I learn a new programming language I need to switch editors. For Python I used Pycharm and for writing I sometimes use Microsoft word, or textstudio, which are both great at what they do. The issue I have is that I have to relearn short-keys, the menu structure.

I also get annoyed with all the added bulk of toolbars and menus that only distract me from writing text or code. I want a clean empty slate in front of me with minimal distractions. The basic configuration of Emacs I use is Spacemacs that is great out of the box for just typing text. From Emacs I can export to Microsoft Word and LaTeX, which is great when I need to share my writings with others.

Emacs for writing

So you might be convinced to some degree that Emacs can be great for coding, but writing? For writing I use org-mode, which is a simple but powerful mode of Emacs that has very handy features and gets out of the way. I use it for publications, note-keeping and actually writing this blog-post.

I stumbled on this great (but long) movie on Youtube, where a writer explains why he likes Emacs so much:

How to get it

{#how-to-get-it-how-to-get-it}

If you are still reading and you are still interested, why not just try it? It is free and open-source! On Linux it is quite easy to get, and the terminal version is included in Mac OSX.

Windows

On Windows there are two options I have tried, and some I did not try.

GNU binary

{#gnu-binary-gnu-binary}

This is the first method I tried and used for some while. I did notice that it became rather sluggish at some point and therefor I moved to WSL. This method is a fairly easy method to get started though, so lets try it!

First download emacs26 for you system on this download page: download GNU Emacs You don’t need to install Emacs you can just unzip it and start it by double clicking on the binary “runemacs.exe”. You are greeted by the following screen:

The welcome screen of emacs26

It doesn’t look great, I know, lets make it great. Assuming you have git installed (if not do it before) open up PowerShell and go the location where Emacs looks for its configuration files on Windows 10 this is: “/Users//AppData/Roaming”, where is the name of your account (remove the <> signs).

cd /Users/<account_name>/AppData/Roaming

Now we are in the correct directory we can use git to get the latest version of Spacemacs:

git clone https://github.com/syl20bnr/spacemacs .emacs.d

Now when we start we get the following screen:

The welcome screen of spacemacs

In section configuring Spacemacs I will explain how to setup Spacemacs such that you can use it.

Note that you might got the error that you don’t have the proper fonts installed on your system. Get them here: Source Code Pro.

WSL

{#wsl-wsl}

Windows Subsystem for Linux (WSL) is a great way to run tools native to Linux on Windows. Since Emacs is native to Linux lets install it through WSL. I assume you have activated WSL: activate wsl on Windows 10 and installed Ubuntu from the app-store: Ubuntu 18.04 LTS. Now fire up Ubuntu on you system and lets install git first:

sudo apt install git

Now lets install Emacs26:

sudo add-apt-repository ppa:kelleyk/emacs
sudo apt-get update
sudo apt install emacs26

Finally lets install Spacemacs:

git clone https://github.com/syl20bnr/spacemacs ~/.emacs.d

We are not done yet! I assume you want to have a graphical editor (otherwise you are done!). In Windows you need to install a X server, for which I use XMing. Just install it, and afterwards launch it. Now we need to do a bit more work in the Ubuntu terminal. I installed xfce4, which is a graphical desktop environment.

sudo apt install xfce4

Now add this to the bottom of your .bashrc file located in your home directory:

echo "export DISPLAY=:0.0" >> ~/.bashrc
source ~/.bashrc

Now when you have Xming running you can just start the graphical Emacs by running ```emacs26```. Note that if you desire the non-graphical version once in a while you can run: emacs26 -nw. Continue to configuring Spacemacs to finish this long process!

Configuring spacemacs

Finally you have made it! Time to further work with Spacemacs. I won’t make this a length tutorial, there are plenty of those, I just help you to get started.

During the first startup you have to give Spacemacs some answers to questions. I just use the standard highlighted answers in Spacemacs which are:

  • What is your preferred editing style? Among the stars aboard the Evil flagship (vim)
  • What distribution of spacemacs would you like to start with? The standard distribution, recommended (spacemacs)
  • What type of completion framework do you want? A heavy one but full-featured (helm)

Now Spacemacs start download packages through the internal packaging system.

Spacemacs is huge! I would suggest that you start here on your journey forward!

Avatar
Wouter G. van Veen
Promovendus

I use computational fluid mechanics to research the fundaments of insect flight.

Related