I need to see neovim
Well now I want to see emacs
Emacs is a tank
how about nano?
What's the difference between all of these? They're all just command line based text editors, right?
Vi is a very old piece of software. Unless I'm mistaken, it doesn't even have syntax highlighting. Vim is "vi improved" and supports all kinds of stuff, including extensions. Neovim is vim that uses Lua as an extension language, instead of vimscript. That allows for easier creation of powerful extensions.
Nano is a simpler text editor that is not as "powerful" as the vim family. Emacs is a state of mind.
In general, all of these are good tools and get the job done.
All I know is when I've been deep in the jungles of Linux config files, vi was there for me and it has my gratitude.
All of them aside from nano become marvellous after enough usage to know how to use them efficiently
One of them has memes about knowing how to close it
One of the best explanations I've heard about difference between most text editors (nano, notepad, vscode...) and Vi (and it's derivatives, like vim, neovim, helix, etc) is that Vi doesn't have editing shortcuts, but editing grammar. So, you can do a lot more a lot faster, if you take the time to use it, and the more you use it, the faster you can get.
While I'm sure there's a better definition what exactly is meant by grammar here, a similar example would be like the difference in capabilities between plain text search, and regex. In Vi*, you have shortcuts for navigating almost everywhere you'd want - next word, start of next word, end of next work, next parameter, next matching bracket, etc, and also have a lot of commands for searching or selecting text. And you can combine all of that with numbers, i.e 5se would select everything up to the end of fifth word, I think.
And you can also record and replay macros on the fly, on multiple lines at once. All done with relatively simple key combinations and commands, that may take a while to learn, but once you get proficient at them, you never have to take you hands of your keyboard, and you can do almost everything you ever need really fast, way faster that you'd be able to in regular IDE.
On the other hand, Neovim (and vim-like IDEs) are something like Rust. Everyone likes talking about it, and most programmers admire it, but everyone has actually learning it on their ToDo list for tomorrow for the last few years. Me included.
Which one is consistently good though
Vim is the main modern project under active development. vi is the original software from old UNIX. On most Linux nowadays, vi opens vim in vi emulation mode.
vi is basically gonna be on every Linux based machine until the end of time. Nano usually needs to be installed, which in corpo environments, you may not have the ability to do that. I made my peace with vim for sysadmin stuff or simple changes like editing yaml files. Vi also has some pretty good features out of the box which are good to learn.
I was about to resign myself to vi but then I learned that in Emacs you can use tramp to remotely edit files.
So now I can use my configured preferences for emacs on any online server which includes the vi keybindings via evil-mode.
vim scp://user@myserver[:port]//path/to/file.txt
can also accomplish this in vim, FWIW.
How do modern VIM based editors like Helix or Kakoune compare to neovim? Is it better to start with a modern alternative, or just go with neovim?
Linux Memes
A community for posting memes relating to linux!
Also check out:
Original icon base courtesy of lewing@isc.tamu.edu and The GIMP