Why I switched back from EMACS to VIM? ==================================================================== LFA | 2026-01-17 | #software #editors #emacs #vim #vi ==================================================================== 2026 is already here and it brings some changes, one of them is that I'm back in VIM. Some of you will wonder what happened, whether if I had lost my mind or something like it. Nothing further than reality. This switch is motivated by two facts: 1. Since last year I have been doing things with NetBSD on Raspberry Pi boards and on small virtual machines and many times I've used Ed and vi (nvi) as editors because they come pre-installed and to make quick configurations and other simple system administration tasks they're more than enough, so I have been refreshing my memory. 2. When I started with EMACS I did it with the idea of using EMACS for everything: as a programming environment, as IRC client, to take notes, mail, RSS, etc. By the time I did this switch I had been using GNU/Linux systems for years and I used many, many command line programs, so over time I started to go back to those programs or switch to others because, in my opinion, ERC is fine but not entirely, Elfeed is fine but not entirely, and so on. At the end of 2025, after I stopped using Elfeed and Elpher, I ended up using EMACS only as text editor and programming environment. As some of you already know, I'm an advocate of the UNIX philosophy, so I guess this switch was inevitable. IMHO the main difference between VIM and EMACS is that VIM is an editor who is very well integrated into the UNIX environment while EMACS is an environment in itself that also has an editor integrated. In view of this, if I only need an editor I use an editor and not a complete environment. Let's see an example of what I'm saying. In EMACS if you want the whole text to be at a maximum width of 68 characters there is a command 'set-fill-column' to set the maximum width of the text, then you do a selection of the text and execute the command 'fill-region'. On the other hand while you're in VIM's normal mode you type ':%! fmt -w 68' and you format the entire buffer by using the UNIX command fmt(1). The switch from EMACS to VIM was much easier than when I did the other way around, I guess it's true the adagio: "Once you've got it, you've still got it." I added to my VIM configuration a few keybindings EMACS-like for insert mode, like being able to advance a space with a simple shortcut. I also added the feature that when typing parentheses, brackets, and the like, VIM adds the open and closing match and leaves the cursor in between. Obviously this switch has also brought some inconveniences. One of them is that with EMACS I had better syntax highlighting because it includes TreeSitter while VIM don't. I've also switched from GNU Global to Exhuberant Ctags because it has better integration with VIM and, truth be told, currently, I have not noticed any difference between the two. What I miss the most is Org Mode because, like Magit, it is a very good tool. Momentarily I have solved it with a syntax file[1] for Org Mode that I found quite useful. Probably some of you are wondering: why not NeoVim if it has a pretty nice plugin for Org Mode, it has TreeSitter and many other cool things? Easy, because if I wanted to keep using a large and heavy text editor or an IDE that does everything, I would continue using EMACS. I think NeoVim is more suitable for those VIM users who don't want to learn EMACS but who want features similar to it or VSCodium/VSCode. Thanks for reading. As usual, you can send me your comments via email or on Mastodon. ____________________________________________________________________ [1] https://github.com/axvr/org.vim ____________________________________________________________________