Early developers were struggling. They loved the landmark text editor vi but needed something that was available on more than just Unix.
They needed something more tailored to programmers, something that supported syntax highlighting for various languages and remote editing via SSH. They needed to fine-tune their development environments with plugins to maximize their efficiency.
Dutch programmer Bram Moolenaar created his own solution and shared it for free, eventually asking only that users make a donation to a charity caring for children and families in Uganda.
...Proponents of Vim commonly point out the same features as reasons why they use the program:
- Light and portable: Commonly used as a command line interface, Vim can be launched with a terminal, run through a GUI, or used remotely through an SSH connection. Vim is widely used on Windows, Linux, and macOS.
- Highly customizable and full of plugins: As with so many other open-source platforms, users have run amok with creating custom configurations, features, and plugins. ...
- Modality and no mouse functionality: It seems frustrating, but your fingers never need to leave your keyboard. Maximize productivity and coding time by using keystrokes to switch among normal, insert, command line, and visual modes. Keys have different commands based on which mode you’re in.
- Registers: Think of these as multiple clipboards. You can store copied text and macros, which record keystrokes for playback, in different registers. Registers, which persist between uses of Vim, help you save time by executing certain text in a fraction of the time.
- Motions and text-objects: Arguably our team’s favorite facets of Vim, motions and text-objects serve as the verbs and adjectives of the Vim language, allowing you to write your code über-productively. Motions allow you to tack on an action to built-in commands, so you can, say, delete from the current cursor position until the next occurrence of a letter. Meanwhile, text-objects are used in the context of motions, allowing you to declare commands inside or around words, paragraphs, HTML tags, and even current function blocks.
This submission prepared using the Firefox vim plugin, Vimperator.
(Score: 4, Insightful) by Marand on Monday December 26 2016, @08:26AM
Have you actually checked memory usage lately? Opening the same file, I see emacs with a fresh config using about 25mb and vim using a fresh config using about 15, and they both start instantly. The difference between the two is trivial and has been for a very long time. Even my extremely tweaked emacs config, with 35 buffers currently open, is using less than "modern" editors , and that's after intentionally increasing the allowed memory usage.
It used to be a bigger difference, but it's not 1995 any more. vim's managed to get bigger, while emacs already did most everything it needed so it's mostly remained the same. If you want "fast and light" now, and the difference between vim and emacs seriously matters to you, you'd be better served by using nano, joe, or jed, all of which use about a third of vim's memory or less.
It's a virtual OS in and of itself
Not related to your trolling, but it's basically the only remaining lisp machine in use, which is actually kind of interesting regardless of anything else.