summaryrefslogtreecommitdiffstats
path: root/there-is-an-evil-in-your-emacs.post
diff options
context:
space:
mode:
Diffstat (limited to 'there-is-an-evil-in-your-emacs.post')
-rw-r--r--there-is-an-evil-in-your-emacs.post68
1 files changed, 68 insertions, 0 deletions
diff --git a/there-is-an-evil-in-your-emacs.post b/there-is-an-evil-in-your-emacs.post
new file mode 100644
index 0000000..537b5b2
--- /dev/null
+++ b/there-is-an-evil-in-your-emacs.post
@@ -0,0 +1,68 @@
+;;;;;
+title: There is an Evil in your Emacs
+tags: emacs, vim, editors
+date: 2014-07-01 21:44
+format: md
+;;;;;
+
+When I first started using GNU/Linux I was looking for a proper text
+editor. I only had any experience with Visual Studio on Windows
+because I was a .Net developer at the time, and didn't really have
+much of a choice. One of the main things I wanted was an editor that
+worked in a terminal.
+
+Naturally I came to Vim and Emacs (as well as Nano, and perhaps some
+others as well). For a few weeks I kept switching between Vim and
+Emacs. I liked Vim's syntax highlighting better, but on the other hand
+I liked Emacs' keybindings/modelessness better as well. I ended up
+going with Emacs mostly because of Vim's moded editing.
+
+For years the thought of Vim's moded editing gave me nightmares. I
+never really realised the best thing about Vim. Even when a post
+appears on Stack Overflow about grokking Vim. I was already so blinded
+by the idea that Emacs was the superior editor for me that I failed to
+register the information. It took a long time, but eventually I opened
+up to the possibility of such moded editing. By now I was stuck with
+Emacs because I just couldn't give up its customizability or
+extensibility. Also, I've grown to love Lisp, and specifically Emacs
+Lisp, so to go from that to Vimscript wouldn't be quite ideal.
+
+Eventually I decided I really did want to try it. Thankfully Emacs has
+a package for that: Evil, the Extensible Vi Layer for Emacs. There is
+one other problem, though: I use the Colemak keyboard layout. The
+usual `hjkl` keys are more like `hynu`, with the up key at the bottom
+of the keyboard, down at the top and left and right diagonally from
+eachother. Again Emacs has a package for that, `colemak-evil`. It
+rebinds some of the keys so that Evil will work with the Colemak
+keyboard layout. It is based on that the creator of the Colemak layout
+used to use in Vim. It's a bit aggressive, so I customized it to be a
+little less so, mostly removing rebindigs from the motion and emacs
+state maps.
+
+The real power is in the composability of the commands. In Emacs you
+have commands like `forward-kill-word`, `forward-kill-sexp` and
+`forward-kill-char`. In Vim you have the `delete` operation, which can
+be combined with, for example, the `forward-word` motion, or the
+`next-line` or `forward-char` motion. I probably have the names wrong,
+but hopefully they convey the meaning of what they do. This is what it
+is all about, or at least from what I've learned to use so far. Of
+course the powerful ed-like editing features called forth through the
+Vim `ex` mode, such as `%s/find/replace`. Lastly, of course, the fact
+that a lot of editing can be done in normal mode helps in preventing
+Emacs-pinky.
+
+I haven't yet been able to work with the extensible part, but some of
+the modules that exist for evil speak volumes of it.
+
+If you are interested in increasing your productivity, or you like to
+experiment with new things, you might really want to try it. It may
+not completely be Vim, but it's still completely Emacs. If you use the
+colemak-evil package as well you'll also notice that in the insert
+state all your regular Emacs keys work normally, which is a great
+combination of the two editors. So far I feel that Vim is great for
+editing existing code and text, but Emacs still feels better when
+writing a lot of new code or text.
+
+<!-- Local Variables: -->
+<!-- mode: markdown -->
+<!-- End: -->