this post was submitted on 02 Aug 2024
178 points (94.1% liked)

Linux Memes

629 readers
1 users here now

A community for posting memes relating to linux!

Also check out:

Original icon base courtesy of [email protected] and The GIMP



founded 1 year ago
MODERATORS
178
Vi or Vim (programming.dev)
submitted 3 months ago by JPDev to c/linux_memes
 
you are viewing a single comment's thread
view the rest of the comments
[–] recursive_recursion 4 points 3 months ago (1 children)
[–] [email protected] 2 points 3 months ago (3 children)

What's the difference between all of these? They're all just command line based text editors, right?

[–] [email protected] 17 points 3 months ago (3 children)

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.

[–] [email protected] 6 points 3 months ago

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.

[–] [email protected] 4 points 3 months ago

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

[–] recursive_recursion 10 points 3 months ago* (last edited 3 months ago)

yup although each has their own methods for allowing the user to navigate and manipulate text

Ordered by text length just cause:

[–] Mikina 2 points 3 months ago* (last edited 3 months ago)

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.