Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?

Vim 7 Released 665

houseofmore writes "After many years of development, Bram Moolenaar, creator of Vim, today announced version 7 of the widely used editor. New features included spell checking in up to 50 languages, intelligent completion, tab pages, extended undo branches and much more. Downloads available here for Unix, Windows, Mac and more."
This discussion has been archived. No new comments can be posted.

Vim 7 Released

Comments Filter:
  • by ylikone ( 589264 ) on Monday May 08, 2006 @01:12PM (#15286357) Homepage
    I've tried on and off since 1995 to get into using vi/vim and I just can't. I am unable to make it work as smoothly as "joe". That's right, for my choice of console-based editor, I use niether vi or emacs! "joe" has been doing everything I need a text editor to do easily since 1995. I cringe when I have to use vi/vim.

    I know I will get flamed for this. Oh well, it's the truth. I'm sure there are a few others that would agree with me.

  • My history with VIM (Score:4, Interesting)

    by ThePopeLayton ( 868042 ) on Monday May 08, 2006 @01:13PM (#15286371)
    I was a TA for a basic CS class for over a year. Upon first exposure the VIM (the editor that our system admins installed) many students got really frustrated. Most of them didn't understand how as they scrolled up on down with the mouse that random pieces of text got inserted all over their programs causing a tons of errors.

    I too was pretty annoyed with VIM at first as that it is set up in such a way that it expects you to be a power user. I haven't downloaded the latest version but will do so shortly. But I would like to see a version of VIM that the everyday joe shmoe could use. Less clunky font, easier to set preferencess, and a way to turn of all those linux short cuts that we non-linux people are plagued with. I think there is a definate need for a more userfriendly version of VIM
  • :wq (Score:2, Interesting)

    by joeldg ( 518249 ) on Monday May 08, 2006 @01:13PM (#15286372) Homepage

    yay.. spiffy new vim, vrs spiffy old vim..
    though, the new features do look nice.

    I actually know a guy with a ":wq" tattoo (on the back of his neck)

  • vim plugins (Score:3, Interesting)

    by kwench ( 539630 ) <kwench79@yahoo.de> on Monday May 08, 2006 @01:19PM (#15286420) Homepage
    Now I'm waiting for a vim-plugin for Firefox and Opera, just like the Konqueror guys did it. So I can finally spellcheck and syntaxcheck my slashdot comments... ;-)
  • by everphilski ( 877346 ) on Monday May 08, 2006 @01:21PM (#15286435) Journal
    The paradigm is different that most other editors. Most other editors use control keys (of some sort) for functions. Vi you enter into edit mode and type away, then leave edit mode and operate on your work. It is a different concept but it has its advantages. (For one: Except for capital letters I've never had to press two buttons at once, ever ... you escape to exit your edit mode and then it is all single key sequences to do what you want. Simple things but, for example, hitting the control button requires shifting your hand in an akward position wheras :w you don't have to move whatsoever ... )
  • Re:waiting (Score:4, Interesting)

    by goombah99 ( 560566 ) on Monday May 08, 2006 @01:22PM (#15286441)
    I've never understood the attraction of Vim, maybe someone could explain. It seems like a throwback to keyboard command line editors with it's modal editing.

    For my needs I either want a nice gui, in which case I will use kwrite, or bbedit, or some IDE.
    or I want something simple from the commandline, in which case pico is almost useful, though I prefer emacs for that. I am not an emacs power user. All I can do is do primive searches, cut and paste. But that's really all I need for quick command line edits.

    The other reason I like emacs and it's non-modal behaviour is that on a mac, those simple key bindings are available in every cocoa test window.

    So why is Vim so popular?
  • by Gulthek ( 12570 ) on Monday May 08, 2006 @01:35PM (#15286592) Homepage Journal
    I do some development from Windows and Linux.

    You just can't do stuff like:

    Delete ^M DOS returns - :%s/\r//g
    Turn ^M into "real" returns - :%s/\r/\r/g

    with Joe.

    More VIM tricks [rayninfo.co.uk].

    Then there's block editing (quickly comment out sections of code), recording, complete access to all commands (including navigation) from the homerow of the keyboard, etc.
  • by ylikone ( 589264 ) on Monday May 08, 2006 @01:37PM (#15286611) Homepage
    I find continually having to use the ESC key to be highly annoying. And really, to save a file, I don't really see CTRL-S being harder or slower to type than ESC :w
  • by thePig ( 964303 ) <rajmohan_h@noSPam.yahoo.com> on Monday May 08, 2006 @01:51PM (#15286745) Journal
    I guess different people use VIM for different reasons -
    I *never* ever use syntax highlighting, but after using VIM for last 3 years (after using VI for around 2 years) I find that I cannot use VI at all nowadays.
    For ex - I got so used to multiple undo that VI is a real pain the neck now.
    Other VIM features I use a lot are multi window , remote editing (I work on a m/c which is almost half way across the globe, and remote editing is ONE important feature) & MACROs.

    Not to mention all the small (for ex: expandtab/visual mode etc) features.

    One anecdote -
    I had an activity, where I had to convert around 80K lines from PASCAL to a different (proprietary) language. A very boring and _no_use_ work indeed. We were given 2 months to do that. With the help of quite a bit of macros, I converted the whole thing in less than 3 weeks.

    So I dont think that VIM is a misguided attempt at all.
  • code folding (Score:1, Interesting)

    by Anonymous Coward on Monday May 08, 2006 @01:55PM (#15286779)
    speaking of vim, is there a way to fold all function definitions and leave the declarations and parameters intact in one go? i dont want to go to each starting { and 'zfap'.

  • Re:Cut and Paste? (Score:2, Interesting)

    by initsix ( 86050 ) on Monday May 08, 2006 @02:01PM (#15286834)
    I love vi, but I have always had a paste issue using vim. I typically use vim over ssh from a windows machine. I run into problems when I switch to insert mode and paste from (Windows) clipboard. Vim likes to insert a tab on every new line.

    I end
              up with text
                        that tends to format
                                      like this.

    It is very annoying and I end up either trying to find an old school vi binary or use pico or the old cat > foo.txt trick. Does anyone have any idea to stop the auto indent feature?
  • by abiessu ( 74684 ) on Monday May 08, 2006 @02:07PM (#15286883) Journal
    It is that huge chasm between 'edit' and 'command' modes, along with the "optimizations" in command mode that are geared towards the QWERTY keyboard layout (HJKL for movement? not so easy/intuitive in Dvorak-* layouts...) that keep me away from vi. By 'chasm', I mean the fact that you have to jump all the way to the escape key and then come back. And what about being in command mode and (accidently) trying to enter text? Suddenly you've just executed some set of commands (which can presumably be undone), but you don't necessarily realize it right away. Oh... and if your only complaint is that the Ctrl key is difficult to reach, why not remap it in place of Caps Lock (or just switch the mapping of the two)?

    I'm not going to claim that emacs is the epitome of greatness, nor that vi is evil. It's just that emacs seems to work a lot better for me than vi does.
  • Re:Let's try it out (Score:3, Interesting)

    by ZombieRoboNinja ( 905329 ) on Monday May 08, 2006 @02:11PM (#15286932)
    You jest, but VI made me hate all coding for about a day.

    I was trying to contribute to a project using Mercurial [selenic.com], when lo and behold! It dumped me into VIM.

    Apparently, all I *really* was supposed to do here was enter a line of text describing my patch, save, and quit. But damned if I couldn't find a single menu to do that. The mouse was useless, and the menus were unnavigable.

    By the time I figured out :wq, I'd messed up my entire Mercurial depository and had to reinstall and manually patch the whole damn project because I'd botched it. Frigging :wq...
  • Re:waiting (Score:3, Interesting)

    by kuzelnik ( 948967 ) on Monday May 08, 2006 @02:12PM (#15286934)
    1. Regular expressions even more powerfull than those in pearl
    2. I can configure vim to my tastes from "out of the box" state in a couple of minutes (I was tewaking my .emacs file for years and Xemacs still felt awkward)
    3. very, very powerfull and simple way to create macros and scripts
    4. Absolutely magnificent documentation
    5. fantastic mailing list where gurus and newbies are treated very, very well. I have seen Bram himself answer very simple beginers questions.
    6. great site with hundreds of scripts, tips, and other useful stuff.
    7. Bram has accepted several of my suggestions for improving some details in documentation and even suggestion for improvement of some code (a script for gunzipping files) ((It wasn't even proper patch, because I have never created patch file))

  • Re:Ahhhhh.... (Score:3, Interesting)

    by Coryoth ( 254751 ) on Monday May 08, 2006 @02:57PM (#15287343) Homepage Journal
    This feature (ctrl-n auto-complete)...You press ctrl-x ctrl-o to invoke it.

    Now forgive my ignorance because I'm not a Vim user, but I thought (and what I keep hearing) is that vim is supposed to be better than emacs because it doesn't use complicated multi-key shortcuts using the control key etc. What happened? At this rate why not just use emacs with gnuclient (for fast access) and viper mode (for your basic vi keybindings)?

  • by Coryoth ( 254751 ) on Monday May 08, 2006 @03:05PM (#15287400) Homepage Journal
    I have _never_ met an emacs user that knew how to use it. Its sad.

    That's sad, because someone who truly knows how to get the most out of Emacs can be very impressive. Most of the people I know don't really know how to use vi. Sure they can do i for insert, and dd for delete line and so forth, but they hardly use the full feature set. Of course I have witnessed a few people who really know how to use vi, and that is something to behold. A real Emacs user is no different. Just because you haven't met one doesn't mean they don't exist (I've met many myself).

  • by RPI Geek ( 640282 ) on Monday May 08, 2006 @03:13PM (#15287469) Journal
    I'm a fresh college grad breaking into the consulting business and the guys I work for insist that I learn vi for that exact reason. The example they gave me was: when you're sitting at a client's terminal with them breathing down your neck to make some simple changes, vi (or ed, but I won't go there) is simply the fastest way to do it, and when you do it fast enough it looks like magic to an inexperienced bystander. My preference is for the windowed editors like Crimson Editor or even Notepad, but I'm learning how important these "low level" tools can be.
  • First vi encounter (Score:3, Interesting)

    by Arandir ( 19206 ) on Monday May 08, 2006 @03:17PM (#15287502) Homepage Journal
    My first vi encounter was back in the days of the dinosaur. It was the later cretaceous, to be exact. At the time people used a wide variety of terminals to connect to the computer. The terminals themselves tended to be system specific, so that some had function keys, other didn't; some had arrow keys, others didn't; and some had meta keys, while others didn't. Using such a variety of terminals for Unix was a major problem, ranking up there with the problem of using a huge variety of printers. But then came vi and it didn't need function keys, arrow keys or meta keys. I could finally have a full screen text editor on ANY terminal I chose. With a tiny handful of commands I could be productive. In comparison to the other editors, it was easy to use. At the time vi was a huge step forward.

    Modern interfaces with mice and menus and toolbars may have made vi somewhat obsolete, but I would still rather write software using vi than with <hack> MSWord...

    p.s. The problem with emacs was that it requried two meta keys, which weren't always available, and even if they were, may be in different keyboard locations under different names. It also required chording which slows down typing (especially if you weren't sure where the meta keys were on this keyboard). And as other people have pointed at, at the time you were guaranteed that vi would be available on any Unix system, while access to emacs was hit or miss.
  • by HighOrbit ( 631451 ) on Monday May 08, 2006 @03:50PM (#15287761)
    IIRC, the presence of vi and ex are part of required compliance for POSIX and the Single UNIX Specification. So, it is not just there by convention or convenience, but is a requirement for guaranteed inter-operaability, along with ed, sed, and awk. Or does POSIX simply define the behavior of those tools and not require their presence?
  • Notepad++ (Score:2, Interesting)

    by netrage_is_bad ( 734782 ) on Monday May 08, 2006 @03:57PM (#15287810)
    Ever since I found notepad++ http://notepad-plus.sourceforge.net/ [sourceforge.net], I have never looked at another editor.
  • by omega9 ( 138280 ) on Monday May 08, 2006 @04:23PM (#15288007)
    If we accept that:
    • Most thoughtful admins don't run X on their servers, and..
    • Those same admins would still like a powerful text editor on those servers

    then i submit..
    • Why should we be punished just because we're not running a GUI?
    • We're not stubborn elitists. You're a pussy that can't learn anything more complicated then UltraEdit


    "GUIs + Keyboard Shortcuts are your friend"

    The ammount of keyboard shortcuts in VI will eat your fucking GUI editor for lunch.
  • aside from bash... (Score:2, Interesting)

    by gregorlowski ( 884938 ) on Monday May 08, 2006 @09:07PM (#15289587)
    vim is the program that I use most. I used to code mostly shell stuff as a sysadmin and RAD niche programs: bash, perl, python, ruby... I always use vim for that. I also use vim for html, css, javascript, latex, and plain-ol' writing any kind of text.

    These days I've been using eclipse a lot in emacs mode because my current job requires lots of java coding of a program with a huge code base, and my wrists are starting to hurt. Seriously, emacs is also good (IMHO not as fast as vim if you know both really well -- I use emacs mode in bash and know it pretty durn well too), but the weird stretches that you do in emacs will give you serious hand and wrist problems from awkward repetitive hand movements.

    The other reason I prefer vim is that I REALLY LIKE having an editing mode separate from an insert mode. I like using vim to navigate through my code without worrying that I'll accidentally delete a character or make a typo. I actually do that all the time when I use emacs mode in eclipse, and then I have to undo my changes (but sometimes it takes a second to figure out which was the last intentional change).

    With vim I can navigate through my file with little worry that I'll mess anything up.

    And vim is FAR superior to old vi!!! Syntax-highlighting, word completion (C-n, C-p, dictionary completion, file completion...)

    Emacs may be somewhat more powerful/extensible, and I believe it's quite good for coding in C/C++ and integrating with build tools -- a wonderful editor and environment. But for shear editing speed I think NOTHING can beat vim.
  • by sdfad1 ( 880883 ) on Tuesday May 09, 2006 @02:00AM (#15291050) Homepage Journal

    Can someone tell me how easy is it to extend vi/vim? I know it's in the manual and all that, but this is a question about the workflow. Can I define a function to be called anytime I want in vi/vim? In Emacs, it's quite trivial:

    C-x b
    That's control-x b, to change buffer ...

    ... to change to scratch (as in scratchpad)

    (defun blah (arglist) (interactive) (...))
    just type away the function, ... is the required action - it's just code.

    C-x C-e
    evaluate last-sexp. No need to compile. No need to make or whatnot.

    To run it now,
    M-x blah

    That's it. That takes no effort at all. This can be bound to a key by M-x local-set-key (tab completion is your friend here). For frequently used functions, save it in ~/.emacs

    Or alternatively,
    C-x (
    to start defining a keyboard macro.

    ... keystrokes ...
    type your commands here, put some thought into this, could be tricky

    C-x )
    end keyboard macro

    C-x e
    Execute keyboard macro, subsequent e to repeat keystroke sequence.

    To name the macro,
    M-x name-last-kbd-macro (or somesuch, check manual for your specific version), it now looks just like a function. Can be saved, edited, etc by:

    M-x edit-kbd-macro
    or M-x insert-kbd-macro
    Too easy...

    I've heard of users coming up with a Java bytecode disassembler in under 20 minutes using these methods...see here [google.com]

    Newer versions of Emacs has macro rings for storing multiple macros or whatnot. I know vim has numbered keyboard macros, seems slightly better, but I cannot judge until I've tried it.

    How about vi/vim?

  • by IDontLinkMondays ( 923350 ) on Tuesday May 09, 2006 @02:54AM (#15291221)
    I had the pleasure to meet Bram several years back at Linux Expo NY 1999. The man is truly a unique individual. While the majority of Linux geeks (especially the Slashdot crew, who tended to through things at their audience and just act goofy) clowned around a great deal, everyone bragging about thier accomplishments, and of course everyone bragging about all their stocks and options, Bram was very down to earth. This is a man that has legitimately made a tremendous impact on the UNIX world.

    There is a fairly funny story about Bram, we were sitting at the hotel, waiting for a Taxi or something, having a nice discussion about the evolution of Unix (I think, could have been that I was asking him about the Netherlands, who knows, doesn't matter in this context) and this gentleman, a man that I would have otherwise considered a fish out of water in my home town of NYC, performed an amazingly interesting feat.

    There was a man sitting at the bar behind the bench we were sitting on. He had left his overcoat resting on the railing surrounding the bar. Another man came in off the street. He didn't look particularly unusual, maybe a little dirty for someone that belonged in a $300 a night hotel, but construction workers have conventions to, so why not, right? The man from the street stood next to the bench minding his own business as my conversation with Bram progressed, and then out of nowhere, Bram's arm flyed past my head and I found this other man nearly falling on me.

    What had happened was the man from the street began to walk off as if he was heading to a Taxi himself and in the process had tried to take possession of the overcoat of the man at the bar when he wasn't looking. Bram had stopped the thief in the act and after the whole occurance was over, the hotel guard was resolving the issue and the man at the bar was brushing his jacket off and leaving his mouth gaping, Bram sat down and we continued our conversation as if nothing had ever happened.

    Well, it's an interesting story to me at least. Sadly, it really takes a foreigner in NYC to be honest enough to go out on a limb to stop a thief. But the man with the overcoat should be thankful I hope.

    Anyway, Bram, I don't typically talk about where I come from in this board, I like the minimal anonyminity that you're allowed as a logged in poster. But it's good to hear you're back in action. I'd also like to express the considerable pain and suffering I survived having ported a 1.2million line application to QNX using your VIM, I can at least say thanks for :make

    Good luck with future versions, send me a private message if you'd like. It would be good to hear from you again.

Adding manpower to a late software project makes it later. -- F. Brooks, "The Mythical Man-Month"