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 linuxrocks123 on Monday December 26 2016, @11:16AM

    by linuxrocks123 (2557) on Monday December 26 2016, @11:16AM (#446032) Journal
    Merry Christmas to you, Nerdfest, and anyone else who desires this functionality: http://clang.llvm.org/extra/clang-rename.html

    Personally, though, I don't see it, man.  I don't spend most of my coding time renaming things.  When I do need to rename something, find/replace is usually fine, and when it's not, sed -i s/Old/New/g * is usually fine.  If I were working on a million line project, I guess I'd need to do sed -i s/Old/New/g `find . -name '*.[ch]*'` or something.  Still no big deal.

    But actually if I were working on a million line project I think I'd be careful before renaming something used across multiple files.  I mean, presumably there are other people working on this code, too, and it wouldn't be very polite to go all "LET THE NAME OF MOSES BE STRICKEN FROM EVERY BOOK AND TABLET" on the codebase without discussing the matter with them first.
    Starting Score:    1  point
    Karma-Bonus Modifier   +1  

    Total Score:   2  
  • (Score: 2) by VLM on Monday December 26 2016, @01:22PM

    by VLM (445) Subscriber Badge on Monday December 26 2016, @01:22PM (#446061)

    IDEs are kind of for people who can't learn emacs extensions or shell commands.

    If you do the polyglot thing and know shell, emacs, and your development language you don't need the IDE.

    Also there are some languages that are very verbose, COBOL, Java, and require massive verbosity which results in repetitive and expensive refactoring vs most every other language out there is less verbose requiring less refactoring.

    • (Score: 2) by Nerdfest on Monday December 26 2016, @01:57PM

      by Nerdfest (80) on Monday December 26 2016, @01:57PM (#446066)

      Emacs extensions and shell scripts don't take syntax into account. Just because something happens to be the same word doesn't mean it's exactly the same.
      I'm a fan of using the right tool for the job. If I wanted to show how hardcore a developer I was, I'd use echo and sed. :)