On the virtues of Emacs

pk

Emacs is the only good text editor. This shouldn't have to be said, but, unfortunately, the cult of vim has pushed people into thinking that modal editing is a good paradigm that isn't a relic of the days when the only way to edit a text file was through ed. Here's some things about Emacs that I find to be pretty darn neat:

Modes

Modes are the heart of Emacs, and are as integral to it as the control key. Many people claim that the 'simplicity' of vim makes their editing more 'consistant'. These people are liars. The reality is that, for the majority of tasks to be done efficently, you need to have something specific for a programming language/filetype. Emacs does this rather perfectly by having modes which change how parts of the editor works to better integrate with your current situation. It's pretty nifty, and can lead to some really, really cool results - More on that later.

Package Management

Something I always never liked 'bout vim is how much junk I have to add to my system just to extend the editor usefully. There's no more than 3 different package managers created specifically for vim:

  1. Vundle
  2. Pathogen
  3. vim-plug

Get any number of vim users in a room to ask them about which one they prefer, and you're gonna end up with a room full of carcasses.

Emacs solves this issue by having a package manager out of the box. By just doing an M-x package-install, you have immediate access to the glory of the MELPA - And adding third-party repositories is as easy as just adding a title and a URL to your intit.el. Speaking of which...

Lisp

Lisp is small, powerful, and can do anything you throw at it. This is just a personal preference, but I've always prefered the:

(defun boldify-names ()
    (switch-to-buffer-other-window "*test*")
    (goto-char (point-min))
    (while (re-search-forward "Bonjour \\(.+\\)!" nil t)
      (add-text-properties (match-beginning 1)
                           (match-end 1)
                           (list 'face 'bold)))
    (other-window 1))

of Lisp, compared to the:

function! FirstAndLastLine() range
    echo [a:firstline, a:lastline]
endfunction

of Vim Script.

REST mode.

It's nice.

org-mode

It's really nice.

Text Searching

Could be better.

In short, Emacs rocks. If you disagree with me, you're wrong. Fuck you.