Evil Mode First Impressions

In which a long-time Vim user tries Emacs for the third time.

As someone who is very invested in the Vim experience (muscle memory well-established, .vimrc tweaked to the nines, some rudimentary plugins written), it might seem weird to be attempting to switch to Emacs. But like many I’m seduced by its power, especially for working in an interpreted language like J. Getting Vim to do interactive things normally done with shells and subprocesses is an uphill battle. Granted, some very clever folks make it work, but it’s not a natural fit.

Some things I learned while attempting to recreate my old keybindings:

C-[ is the same as ESC …pretty sure I had forgotten that a long time ago. I fiddled with remapping jk to ESC for a while before deciding to stick with the default option of C-[. I have the key to the left of the a remapped to Ctrl on all my computers anyway, so it’s not much of a stretch.

I can really understand why people rave about org-mode.

visual-line-mode, which changes how lines of text display inside emacs, without changing the text itself. There is a vim setting that does the same thing, and it was equally a pain to set up so that hjkl navigation operates on what you see, rather than what is really there. Still working on this one.

In Vim, I used a plugin for navigating different split windows using the hjkl keys in conjunction with the Ctrl key. Seems like something I should be able to write myself if I can’t easily find something already built.

Moving the cursor between windows! In Vim, I used a tmux-navigation plugin solely for its window navigation (it enables jumping to the window to the right via C-l), and in searching for a way to do the same in emacs+evil, I discovered that evil-mode already provides almost the same experience via the combination of C-w [hjkl]. This seems easy enough to relearn.

In Vim, I save often and use a lot of ex commands, so I remap ; to :. This is almost exactly the same in evil: (define-key evil-normal-state-map ";" 'evil-ex) Still working out details of syntax highlighting, and getting used to Emacs’ finer granularity when it comes to where and how behaviors kick in, but I think there’s a good chance that the third time will be the charm.