www-gem words

Why not another text editor?

Published on

vim Since I’ve wrote a Why not another shell? post I thought I would take some time to write a similar one for my text editor. Before anything else, I’d like to say that this post will obviously lack tons of details, explanations, accuracy… because it would take a 200-page book to compare all the text editors available to GNU/Linux users. Also, this is not what I’m aiming at here. One more time, I simply want to share my user experience and briefly (hence incompletely) expose to you the main reasons why neovim is my daily text editor.

╭── The world of text editors is vast

If you look at the available options you can easily find at least 50 candidates which you can divide between GUI, CLI, or both. In this jungle, emacs and vim are the most notorious ones. Everyone has a preference and it’s my personal opinion that - once you master either of these 2 text editors well enough - they’re both fast and hugely extensible so at the end of the day I’d say that the main difference to me is the coding language and the philosophy.

╭── It’s been a long journey

I’ve tried vim when I moved to Linux more than two decades ago. At that time I didn’t really know what I needed and I was so impatient to discover a brand new world that I quickly get lost with vim and used it as a very basic text editor only.

After few years, I became more and more familiar with Linux as a whole and I grasped the knowledge I was lacking to better benefit from the vim power. Nonetheless, I was still using vim way below its capabilities. So, last year when a friend introduced me to emacs it simply blew my mind and I thought this was the tool I was waiting for at that point in my Linux journey.

But yes, I moved back to vim so what was wrong with emacs? Nothing… I mean the tool by itself is awesome, it’s just not the one that works the best for me. And guess what? The best part of this story is that I still have a good relationship with my emacs friend :) So there’s still hope in this world.

╭── emacs was great

As often, the “issue” with a tool is not the tool itself but we couldn’t build a strong relationship together so I decided to leave it before making it suffer too much. Yes, I have a weird relationship with my Linux tools.

Anyway, I was the faulty one because:

╭── (neo)vim works better… for me

One of the things I really love is to be offered with a pretty bare bones tool that is insanely customizable and extendable. With that you end up with the perfect tool for you and no extra features that you are not using but have to be maintained to not break your tool. (neo)vim offers that with a simple implementation approach.

I am an average user who likes coding simple things (in bash, lua, python, and few others). I also need to organize quite complex notes for scientific papers, and I like writing stories for rolegames amongst other things. These are my basic needs and vim can cover it all through plugins. And icing on the cake, you can find different plugins to cover the same need but with a slightly different focus/approach and that’s super neat. I love having the choice and as I always says that’s one of the magic of Linux in general: you have the real luxury choice to chose the tools that fit your need the best.

If we add to this list that I like portability and being able to integrate a tool in my other tools then vim became quite obvious to me because I can use it in my web browser and in my email client. On top of that, it’s great to be able to use the extremely powerful navigation and text edition offered by vim in zsh and several other tools (like ucollage, newsboat…) for example.

╭── I’m using a fake emacs

When talking with this friend who introduced me to emacs, I now realize that his all-in-one experience with emacs is what I reproduced by combining neovim to tools like tmux for example.

BTW, tmux is a super coding companion. It allows you to attach/detach sessions so you can keep the session running in the background and come back to a given project when needed while having all your windows already configured (and you can also scripted them).

It’s a personal preference to combine tools rather than using a do-it-all one because - while it requires more efforts - I learn a lot from tweaking these different tools, I use each of them individually to complete other tasks, and it’s often more stable/flexible.

Thanks for your read. Hope it's been useful to you.

Interact with this post using Mastodon or

Comment on wwwgem's post

Copy and paste this URL into the search field of your favourite Fediverse app or the web interface of your Mastodon server.

✄ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈

More food for thoughts? Check other posts about: #Vim