Tuesday, November 1, 2016

GNU Emacs vs. Vim

I've decided to give GNU Emacs a try once again. I've been a happy Vim user for the last 3-4 years; now I think I'm a quite proficient vimmer. However, for the last 2 years, I've given some tries at GNU Emacs, but I've always ended up going back to Vim.
I've always been curious about GNU Emacs, mostly because its links with the GNU  project. It's one of their flagships, along with GCC, GDB, and the core utils I think. I feel inclined to use GNU Emacs because of they GNU  philosophy, because I think using GNU Emacs is kind of political activism. So you are not just using a tool out of some others, you're using a tool that carries a lot of values and history with it. And also, GNU Emacs is a very powerful tool, so I would not be sacrificing functionality because of ethics, which is always good.
For some reason, as I said, 4 years ago I started to use Vim, so I became a proficient vimmer. However, now I'm starting to feel tired of always switching modes back and forth. I know this is one of Vim's most valuable features: being modal let's you issue commands without using modifier keys, and thus avoiding to bend your fingers over to Ctrl, Alt, ...
Now I'm starting feel the pain of using Vim. While it does not rely on modifier keys as heavily as GNU Emacs, it does rely on the Shift key, which is not nicely placed on modern keyboards. I press Shift with the pinky, and I've to do that quite often, e.g. for every Ex command. Thus I'm giving GNU Emacs another try.
What I love from GNU Emacs is the philosophy, the editing/programming capabilities, and Org mode. I'd love to use one single tool to do programming and to organize my daily work. I do not like very much that now GNU Emacs is GUI-based by default, so it tends to rely sometimes on the mouse. Also, the fact that Vi is the standard editor on POSIX systems does not help, i.e. EDITOR is always set to vi. I know that GNU is different from POSIX, but their install base is really different.
What I love from Vim is its minimalistic text-based interface, and its wide-range of editing commands. I do not buy the text filtering feature, i.e. relying on system utilities to format text. This comes in handy when your system does have those utilities. However, you cannot expect the same utilities set to be available on different systems, e.g. GNU/Linux and macOS.
Let's see how it goes with GNU Emacs...