Slashdot Mirror


Vim 6.4 Released

file cabinet writes to tell us that for the first time in more than a year Vim has released a new version. Version 6.4 stable was released yesterday and while there are no new features added they are touting dozens of bug fixes.

34 of 419 comments (clear)

  1. Why are we hiding from the police, daddy? by (1+-sqrt(5))*(2**-1) · · Score: 5, Funny
    "Because we use vi , son; they use emacs."

    In good sadness, though, I'm looking forward to the spell-checking in Vim 7.

    1. Re:Why are we hiding from the police, daddy? by falzer · · Score: 5, Funny

      VIM is *not* user friendly, and until it is VIM will stay with <= 1% marketshare.

      Take editing text. Vim zealots are now saying "oh editing text is so easy, just use the hjkl keys to move around and use ":%s/apple/apricot/gi" to do a search and replace. Yes, because typing in "5kck}" is so much more intuitive than simply moving the cursor, selecting two lines of text with the mouse, then hitting the } key.

      VIM zealots are far too forgiving when judging the difficultly of VIM interface issues and far too harsh when judging the difficulty of Notepad issues. Example comments:

      User: "How do I fucking edit this goddamn text file!? Why does Linux only come with vi installed?"
      Zealot: "Oh that's easy! Just go vim <the file you want to edit>. No no, wait, don't type anything yet. It won't work the sa-- ok hit escape, ok, hit u a few times, ok you're back to where you started. Now vi works a little differently than most text editors: there is command mode and edit mode. Vim starts in command mode where you issue commands (such as hjkl) to move the cursor around, d followed by a movement command to delete lines of text, or i (for example) to insert text. Pretty much almost every letter of the alphabet (upper and lower case) is a command. When you go into a text editing mode by issuing the appropriate command, you type your text like normal then hit escape to back out. You type :q to quit, or ZZ / :wq to save and quit. Sometimes you need to put in a ! after a : command to force it. Quite elegant, don't you think?"

      User: "How do I edit text files using notepad?"
      Zealot: "Oh God, you have to use the graphical luser interface to open a text file. Then use the arrow keys (or optionally mouse) to position the cursor where you want to type. Now you've gotta actually enter in the text using the keyboard! Careful though, it might break, it just blithely assumes that what you're typing is text and not commands!"

      So, I guess the point I'm trying to make is that what seems easy and natural to VIM geeks is definitely not what regular people consider easy and natural. Hence, the preference towards notepad.

    2. Re:Why are we hiding from the police, daddy? by Demerol · · Score: 5, Insightful

      No one says vim is user friendly. It's not supposed to be. It's supposed to be powerful, and it is. It's hard to learn and it probably always will stay with 1% of the market share but I don't think the developers really care for increasing market share. Remember...it's free in every sense.

      And in reply to the troll before you:

      vim does have mouse support (:set mouse=a) in both terminal and, obviously, gui modes.

      Also, :set wrap will solve your other qualm.

    3. Re:Why are we hiding from the police, daddy? by hereticmessiah · · Score: 5, Insightful

      Have you read Neal Stevenson's "In the Beginning Was the Command Line"? If you had, you wouldn't be spouting this nonsense.

      Seriously, go read this section: http://tinyurl.com/9qukb

      In it, he compares two devices: a heavy duty industrial drill called the Hole Hawg, and your basic power drill. Both do the same thing--drill holes--but their intent is different. The Hole Hawg is designed to drill through anything, whereas the regular power drill is designed for household use. The power drill lacks the power of the Hole Hawg, but has safety features that the Hole Hawg can't afford to have because of this. Whereas the Hole Hawg will keep spinning if it hits something hard (and therefore requires a large amount of strength to keep steady), whereas the power drill will slow down if it encounters too much resistance.

      Similarly, Vim is the Hole Hawg of text editors, whereas notepad is a regular powerdrill. Both have different intentions, with the former being designed for heavy-duty text editing as a programmer or highly technical user would need, and the latter designed for occasional light editing, the kind most non-technical users do. The intent is different and so the interfaces differ.

      It's very, very difficult to create a deep, powerful interface that is easily discoverable. At best, you can make it as learnable as possible. This is what Vim attempts to do. Notepad goes for a shallow, easily discoverable interface at the expense of power.

      --
      I don't like trolls and mod against me if you like, but I'd prefer if you'd reply.
    4. Re:Why are we hiding from the police, daddy? by Vintermann · · Score: 5, Interesting

      I disagree that everyone should learn to use vi. It's not a cost-effective investement in my opinion (nor is emacs, although there are some modes that might have changed my mind if I was heavily into the things they deal with). You spend months typing like a turtle. By the time you actually get up to a reasonable speed, you have used so many seconds, minutes and hours that you'd need some truly impressive productivity gains to make it worth it.

      The folks at Xerox PARC actually experimented with this. They found out that the basic, mouse-based text editor saved very much in training costs, while actually being as fast as or faster than the traditional editors.

      If some random person asks me to edit a text file on his unix box, I install some tiny text editor for him (the editor in midnight commander works fine for me). If he won't/can't let me, or the unix version is so uttely weird that I can't figure out how to install it, I say "let's sign a support contract, then we can talk about it".

      That said, for you who have already invested a couple of months of your lives learning the arcana of vi (and on this thread, I suspect there might be some ;-), it's not really worth it to switch to a post-PARC editor. Not if you're already up to speed. While skills in regular modern text editors are useful because they are transferable, they are quick to learn anyway, that's what's nice about them.

      --
      xkcd is not in the sudoers file. This incident will be reported.
    5. Re:Why are we hiding from the police, daddy? by Afrosheen · · Score: 4, Informative

      The thing wrong with pico is it isn't free, hence why distros like Centos and Whitebox include its free clone, nano. http://www.asty.org/articles/20010702pine.html has a decent article detailing pine's default text editor, pico's licensing scheme and why it's bad, and goes on to explain why nano is a suitable replacement.

    6. Re:Why are we hiding from the police, daddy? by p2sam · · Score: 5, Insightful

      I'd disagree with you about the user friendlyness of vim. I think Vim is one of the most user friendly editors out there. It's highly ergonomic, and easy to use. BUT!! It is not easy to learn.

      That's right. Easy to use, and Easy to learn are two different things. Easy to use means that one can accomplish a task with minimal effort. Easy to learn means just that, easy to learn. The two are not necessary mutually exclusive, but I have yet to see a text editor that has both.

      Modern UI designers have fallen into the tar pit of designing ONLY for new users, so that tasks can be performed easily by new users, but becomes difficult to use for the power user. In that sense, most modern IDE's are easy to learn, but hard to use.

      In my opinion, I'd rather spend a few days learning to use a tool that will increase my long term productivity.

    7. Re:Why are we hiding from the police, daddy? by p2sam · · Score: 4, Insightful

      For a programmer, who spends 7.5 hours a work day using a text editor, it's probably worth it to use the most effective editor, even if it takes a couple of months to get to speed on the tool. (Note: most people learn enough vi to get by in a couple of days.)

  2. I just want to say thanks. by CyricZ · · Score: 5, Insightful

    I want to say thanks to all of the VIM developers who have helped create such an amazing piece of software. Indeed, I don't think we can even begin to consider how much other software has been written by developers using VIM.

    --
    Cyric Zndovzny at your service.
    1. Re:I just want to say thanks. by p2sam · · Score: 4, Informative

      Vim is charity-ware, please donate.

      http://iccf-holland.org/index.html

    2. Re:I just want to say thanks. by Mr.+Hankey · · Score: 4, Informative

      Start up a copy of vim, type ":about uganda" (without quotes) and press enter to find out. In short, the author of vim did volunteer work for the clinic for a year and has visited there on several occasions since then. He wishes for others to help the clinic as well.

      --
      GPL: Free as in will
  3. Intellisense #1 feature, pay Bram to add it by Morganth · · Score: 4, Interesting

    I just wanted to point out that Intellisense (context-sensitive completion based on parsing or "understanding" code) is the #1 most voted VIM feature. You should add your own votes (with your hard-earned cash, if you will) if you want to see this feature come to VIM.

    I personally do want this feature. It would make VIM the perfect text editor, IMO. Right now, VIM's completion is already pretty good, and a couple people have implemented completion as a plugin, but it usually ends up being a hack. I think Bram can figure out a nice way to do it for Vim 7.

    People who know how to use VIM well find themselves really productive in it. But, that said, I end up being slightly more productive writing Java code in Eclipse, ONLY because of completion, even though all my other editing features from VIM aren't there (or are buried).

    What I usually end up doing is keeping a console handy and switching between Eclipse and VIM when I have to do Java, but that's not that nice. I think Vim can pull this off.

    http://www.vim.org/sponsor/vote_results.php

    1. Re:Intellisense #1 feature, pay Bram to add it by kaisyain · · Score: 5, Informative

      He's already added it in the Vim 7 sources. It was initially called occult completion but is now called omni completion. (Intellisense is a trademarked term.) Read the vim dev list for more details.

    2. Re:Intellisense #1 feature, pay Bram to add it by Anthony+Liguori · · Score: 4, Insightful
      People who know how to use VIM well find themselves really productive in it. But, that said, I end up being slightly more productive writing Java code in Eclipse, ONLY because of completion, even though all my other editing features from VIM aren't there (or are buried).

      Sorry, I don't mean to be a bastard here, but this is my biggest pet peeve. I *hate* Intellisense or whatever the hell it's called. I think syntax autocompletion is ruining a new generation of programmers.

      Here's my reasoning. Writing code that always works is hard. Writing code that works some of the time is easy. To write code that works all of the time you have to understand the exact behavior of every function you call and handle all possible scenarios properly. It's the difference between writing:
      read(fd, &myInt, 4);
      And then writing a wrapper around read that checks for EAGAIN, EINTR, performs endianness conversion, handles partial reads, and potentially implements this all asynchronously. Back to my original point though, it takes time to learn all of the sublities of an API. The best way to learn them is by studying the interfaces (reading manuals, man pages, whatever).

      If you cannot remember the name of a function, go back to the manual and study it. You're going to not handle the edge cases of it. If it's Java, you'll ignore a potential exception. If it's C, you'll miss a potential error code.

      I'm not against all the features in things like Eclipse. Some of the refactoring stuff is useful. It's just intellisense that drives me nuts.
    3. Re:Intellisense #1 feature, pay Bram to add it by plastik55 · · Score: 5, Insightful
      Eh? When Eclipse offers completions of a function for me it shows me the javadoc! So when I 'm getting ready to call a function I can see all the edge cases and caveats documented for me on the screen. That's much better than being a macho/masochistic programmer and thinking I remember everything about a function from the last time I used in in a different context.


      No one remembers all the edge cases, especially people who think they've got it all so memorized that they don't bother to double-check the documented behavior while they're calling functions.

      --

      I have a positive modifier on Troll. When I mod someone Troll their karma should go UP!

  4. hats off to Bram, Bill Joy, and ATT by yagu · · Score: 5, Interesting

    Sometimes I think Bram Moolenaar doesn't get enough credit for what he's done almost single-handedly. vim is an amazing piece of software. I've been using it almost since the day it arrived, and I was a vi user who thought vi was everything. But Bram brought vim and immediately began carefully, but boldly, extending vi, without the constraints of waiting for POSIX standards anointing any changes to vi.

    Credit to Bill Joy also (and to AT&T, for "sc") for the pre-cursors and inspirations for vim.

    vi in and of itself is a workhorse with its philosophy of "no gui or mouse necessary", and while vim now has its gui rendition (I never use it), the underlying philosophy and principles remain intact. Color syntax alone is worth it. If you haven't tried vim, you should. For raw and pure editing, there's nothing better (don't flame me, emacs people... please). I've often challenged people to editing faceoffs... where I'd dialup at 1200 baud (yes, I've been around for a while), and they could use ANY editor, at any connection speed, and I'd beat them at making a set of edits against a file.)

    (Aside: how many vi users out there have spuriously put "www, jjj, bbb, G " in their comments when they used the browser text widgets.)

    1. Re:hats off to Bram, Bill Joy, and ATT by trb · · Score: 4, Interesting
      Credit to Bill Joy also (and to AT&T, for "sc") for the pre-cursors and inspirations for vim.

      Joy wrote vi, with help from Mark Horton, both then at UC Berkeley. This back around 1980, on PDP-11s, and eventually Vaxen. If by se, you mean the Bell Labs PWB screen editor, that was quite a clumsy piece of software meant to compete with vi, and with the ports of emacs to UNIX (separate versions by Gosling and Zimmerman, predating the GNU effort). I am shocked that anyone remembers PWB se, it was short-lived and pretty obscure. How obscure? Is there one ref to it on the web? That's obscure!

      While you're thanking, you might want to thank the UNIX folks who brought us "ed," Ken Thompson (and Kernighan wrote the docs, as always). The ed command set survives as the basis for vi/vim :command mode - including the regexes. ed was based on editors that came before it of course, especially QED.

    2. Re:hats off to Bram, Bill Joy, and ATT by raehl · · Score: 4, Funny

      Is there one ref to it on the web?

      Way to ruin it buddy.

  5. Bug fixes by patrickclay · · Score: 5, Funny

    I hope they fixed the bug that made you type all those weird key combinations to write to a file and save.

  6. Re:Yes, but is it better than emacs?? by rebug · · Score: 5, Insightful

    Anyway I've never understood why people feel this compulsion to use a mode-based editor when there are so many wonderful editors out there today.

    Uhm, because some of us like modal editors?

    --

    there's more than one way to do me.
  7. I for one... by _Hellfire_ · · Score: 4, Funny

    ...welcome our new 18 fingered overlords!

    (yes I'm a daily vim user)

    Keep up the fantastic work guys - vim is one of those apps which is actually a pleasure to use.

    --
    "And then I visited Wikipedia ...and the next 8 hours are a blur..."
  8. That's nothing! by earthbound+kid · · Score: 4, Funny

    The last version of Emacs came complete with Vim v. 10.03c! ;)

  9. Not only is it a fantastic editor... by CyricZ · · Score: 4, Interesting

    ... but it is also a fantastic pager. Using it instead of less or more to quickly scan over source code is a blessing! Indeed, you get the syntax highlighting of a GUI editor, but without the overhead. You can view files instantly from the command line, and they're very nicely formatted.

    --
    Cyric Zndovzny at your service.
    1. Re:Not only is it a fantastic editor... by Tumbleweed · · Score: 4, Funny

      ...it's also a tasty salad dressing! Mmm...now *that's* _Vimtastic_!

  10. Re:Bugggg fix only. nice by keesh · · Score: 5, Informative

    No no no. The features are being added in the 7.x branch, which you can get from CVS. 6.x is purely for maintenance (ie bugfixes). This is a mixed blessing... It means 6.x is extremely stable, but if you want new goodies like spellchecking and intelligent autocompletion, you have to switch to the CVS only branch.

    It's a tricky decision. Some projects are way over on the side of "keep throwing out new versions with new features and new bugs". Vim is way over on the other extreme: "release 'new feature' releases every few years and keep the stable branch working". For end users it's a mixed blessing.

    Fortunately, the 7.x branch is pretty much stable (as in every day usable) at the moment. I've been using the Gentoo ebuilds (package.masked), which means I get a CVS snapshot which has been at least reasonably well checked and had any icky bugs fixed. I'd hate to miss out on the new toys. The 'numberwidth feature alone makes it worth the upgrade, even if 'spell didn't exist.

  11. Did someone mention the Fantastic Four? by Rhinobird · · Score: 4, Funny

    Because, I thought that I distinctly heard the words "Flame On".

    Like priming an enclosed area with flammable fumes. Someone is going to mention Emacs and this place is going to explode.

    --
    If Mr. Edison had thought smarter he wouldn't sweat as much. --Nikola Tesla
  12. Wishes for the next VIM and why use Vim by MrBoring · · Score: 5, Interesting
    First, I use VIM not so much because I think it's the best text editor, but because it's corrupted my thought process so much that I keep using those cryptic Vi commands in other programs when typing more than a few words. That said, I do feel most productive in Vim or Vi on systems which don't have Vim (such as z/OS). People don't understand why one would use Vi, until they've mastered it so well that they can nearly look at a point in the screen or think of where they want to be, and the cursor arrives there without remembering which keystrokes got them there. One of my biggest reasons for using it is that there is *no* project, workspace, solution or whatever, that I have to set up before being able to do real work. I like that.


    As for wishes:
    1. Better language completion, if any, language completion.
    2. Better editing of binary files.
    3. Support for multiple code pages. This may be possible already, but I haven't deciphered the manual enough to figure out how.
    4. Support for working with change control systems. I'd like to be able to edit a file in a CCS and have the title bar reflect the release, level, etc that I'm editing, rather than a cryptic temporary file.
    5. A better head on my own shoulders to remember all the set commands needed to operate it.

    I really can't complain though, because if the above never got implemented, I'd still use it. I've used the editor for years, and still keep learning it.

  13. How do you do a character literal? by wk633 · · Score: 4, Interesting

    Ok, some vim guru on here must know, what's the windows vim equivelent of vi's ^V? In vim, it does a frickin' paste! So how do I search for, say ^M? Or enter a macro which includes inserts I need to esc from? Not being able to find that anywhere in the help is the one thing I hate about vim.

  14. Need release faster by 2Bits · · Score: 5, Funny

    Look, as good as vim could be, at this rate, you are not going to catch up with emacs, which is already at version 21.x or something. Which just proved that emacs is much better. If you don't believe, here is some proofs:

    1- Emacs has a much higher version number, which proves to be a more mature software, which proves to be better (more mature is better)

    2- Even an icon such as RMS whom has been proved to be more intelligent than the average USians, uses Emacs. This shows that smart people always make the right choice, and in reverse, proves that Emacs is better than Vim.

    3- Everyone in Cryptonomicon, which is the bibile of all geeks, uses Emacs. We even have a module for encryption. It would take a long time for Vim to catch up to that kind of functionalities.

    4- Only in Emacs can you do Ctrl-A to move the beginning of a line. In one shot. How could you do that in
    Vim? You have to Esc, then press 0, which is lame. Which just shows how advanced Emacs is in terms of maturity and functionality.

    5- As the theorem goes, computer science is a science for minimizing keystrokes. Emacs, in contrast to Vim, can prove this theorem right. Emacs users press less keys than Vim users.

    6- Humans have 10 fingers (some may have more, but I don't know how to grow them), and Emacs allows you to use all your fingers at one. Which shows you that Emacs has a better human user interface. In contrast, Vim users can only type one key at a time, which has no concept of fingers. That is like an interface for dogs, which can only press one key at a time with their paws.

    7- Emacs allows users to stretch their fingers more, and finger exercise has been proved, again and again, scientifically, to help increase human intelligence. The more you use Emacs, the more you become intelligent. Unlike Vim users, who become dumber and dumber, and end up with paws.

    8- Everyone knows that geeks do no exercise. But we Emacs users have our daily dose of finger exercise. As a result, Emacs users have better shape. Take a look at the comparison: RMS (Emacs user) vs ESR (Vi user). RMS definitely looks better, with a nicer beard too. ESR can only have a lousy Asterix moustache. And look at what these two persons said in public, which just proved points 2, 6, and 7.

    9- Look at this deductive proof I'm giving right now. Only an Emacs user can attain this level of intellect.

    10- As a result of the last 9 points, this proves that Emacs is better. And from an evolutionary point of view, Emacs is like modern humans, and Vim like chimpanzee.

    * putting on flame suite *

    1. Re:Need release faster by forkazoo · · Score: 5, Funny

      You omit one important point from your otherwise well reasoned logic...

      vi users are mammals, and they flip out and kill people *all the time.* Some guy dropped a spoon and a vi user edited a whole source tree. That's what I call a Real Ultimate Editor!

      Wait, maybe I'm thinking of something else. Something to do with pirates...

  15. If you're a loyal Vim user... by fm6 · · Score: 4, Informative

    ... don't forget that it's charityware.

  16. Vim source code by chrysalis · · Score: 5, Funny
    int main(void)
    {
    for(;;) {
    get_keystroke();
    bell();
    flash_screen();
    }
    return 0; /* NOTREACHED */
    }
    --
    {{.sig}}
  17. Re:emacs and vim are too difficult to use by oneandoneis2 · · Score: 5, Insightful

    Why do you have to have an insert mode? This "feature" came from vi but for me it is exactly like bolting primitive editing behaviors on to more or less

    Try this: Go into Microsoft Windows, press the "Alt" button once, and then try to type Hello, world.

    Funnily enough, instead of the key presses resulting in text going into the document, it'll navigate the menus. Why? Because it's just gone from Insert mode to a Command mode. It's exactly the same principle as Vi - sometimes you want key presses to result in text on the screen, and sometimes you want it to do something. It's not "primitive editing behaviour", it's exactly the same behaviour as is used in the most advanced word processors available. (And MS Word as well ;o) It's just not a visible, GUI-based Command mode in vi, is all.

    So for me people use vi(m) and emacs out of habit.

    I don't - I came to Linux a few years ago, needed a text editor, tried a few and settled on vi. Well, vim actually. It's a really good text editor once you learn it.

    --
    So.. it has come to this
  18. Last Of The Well Behaved Editors by vigilology · · Score: 5, Interesting
    Sorry if this rant is misplaced, but I see this as not an insignificant problem amongst newer GUI editors today.

    There seems to be a growing (or at least more and more visible) practise of editors (especially GUI editors) not including EOL at the end of every line. They treat it as a line separator, not a line terminator, resulting in no EOL at the end of the last line.

    Because of this, they also display lines incorrectly. I have noticed it with the editors in ZDE, Eclipse, and Scite. It only serves to create confusion when they interpret an EOL as 'start a new line', and actually start to display another line as if it already existed. This is very visible if you create a 'proper' text file you'll have to use a well-behaved text editor like vim for this) and open it in one of the above editors. It will display an extra line below the real last line of the file. You see something like this:

    1 first line
    2 middle line
    3 last line
    4

    There are actually three lines in the text file and you can confirm this with 'wc -l '.

    There is a lot of confusion with people who don't understand the concept of EOL and what these editors are doing. For example, I have people at work who use ZDE and when they open a text file created by me (vim), they go bonkers because they think I've put an extra blank line at the bottom of my scripts. There have been problems in the past with people really putting unnecessary blank lines at the bottom of scripts, and of course this lead to premature headers errors. Naturally, they think I'm doing the same, because they don't realise that their editor is displaying the file incorrectly.

    I have one colleague who even wrote into our 'coding guidelines' recommending people not use vim because "it puts in extra characters that you don't ask for".

    I have noticed that Redhat's default emacs configuration (FC3 at least) also opens text files in binary mode by default, resulting in a missing EOL on the last line of a newly created text file.

    I'd like to know if I have the wrong idea about anything, but the question remains: what is the reason for these editors behaving this way?