Stories
Slash Boxes
Comments

SoylentNews is people

posted by Fnord666 on Sunday December 25 2016, @11:38PM   Printer-friendly
from the interview-was-done-via-emacs dept.

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:

  1. 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.
  2. 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. ...
  3. 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.
  4. 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.
  5. 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.


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 2) by VLM on Monday December 26 2016, @01:43PM

    by VLM (445) on Monday December 26 2016, @01:43PM (#446064)

    Light and portable is VIM its for everywhere other than my $HOME for less than 5 minute jobs.

    An interesting way to look at it is word choice, if its all "me" and "edit" or "develop" type words then it lives under $HOME and I'm in emacs, if the word choices are all 3rd person over there where I'm "fixin" xorg.conf or something then its vi all the way.

    If its in my area of control, if the edited file came to me rather than me going to the edited file, if its a job so long term its worth my time to add packages and customize .emacs.d/init.el to max out productivity, then its emacs all the way.

    So logged into "someone elses" server at 2am on emergency callout to change one hostname in one file to make the damn thing work until tomorrow, then its vim all the way.

    On the other hand if the code comes to me on my turf its insanely customized init.el with like 50 packages all the way. I got perspective and projectile to shard emacs into distinct projects, magit is the best git client, helm and its addons for all selections, flycheck for syntax checking, smartparens, yasnippet as my templating system. With vim, well, I'm pretty good with dd, x, i, occasionally o, and of course :n, :wq, and :q! and so forth and thats about all the features you need/use for vi. I know it can do a little more, but if I were doing a little more I'd be using emacs, so ...

    Emacs is very Perl-ish in that theres always like 15 ways to do things. That makes the average fundamentalist Python-ite completely flip their lids because there should only be the one true god created way to manage whitespace or parenthesis or whatever and only an apostate ready for the purifying fires would dare risk badthink by doing anything different than the one true way. So yeah philosophically emacs is a better mind match at editing something like Perl than something like Python, although it technically works for both.

    Starting Score:    1  point
    Karma-Bonus Modifier   +1  

    Total Score:   2