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

Linux Memes

627 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 11 months ago
MODERATORS
178
Vi or Vim (programming.dev)
submitted 3 months ago by JPDev to c/linux_memes
 
all 18 comments
sorted by: hot top controversial new old
[–] [email protected] 35 points 3 months ago

I need to see neovim

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

Well now I want to see emacs

[–] [email protected] 6 points 3 months ago* (last edited 3 months ago)

Emacs is a tank

[–] 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 2 months ago* (last edited 2 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.

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

Which one is consistently good though

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

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.

[–] thisisnotgoingwell 5 points 3 months ago (1 children)

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.

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

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.

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

vim scp://user@myserver[:port]//path/to/file.txt can also accomplish this in vim, FWIW.

[–] Mikina 1 points 2 months ago

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?