Vim 7 Released
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."
The link from the main MacVIM page is broken, but here is 7.0 for OSX:
http://macvim.org/OSX/index.php
Once you've learned vim, it becomes probably the fastest editor to use. Never having to use the mouse. Being able to quickly move around a document. Complex (regex) searching/replacing. It has a steep learning curve, but it a very powerful and arguably intuitive editor. I first started using it in the mid-90s when I first got onto the big unix boxes at the university I attended. Since then, I continually find myself trying to use vim syntax in different editors. Its not uncommon to see ZZ or :wq at the end of some of my emails or other documents.
It's popular because it's like vi with some extensions to make it more modern.
It's especially handy for editing source code. Where you have commands to reformat comments, move between functions, jump to definitions and things like that. I'd rather hit [[ to go to the top of the previous function than have to enter a search for it. This is especially useful when you're going through all your callback routines and adding a little bit of code to them.
The ability to have multiple cut/paste buffers is also nice. The modal behavior makes people think Vi is a throwback, but honestly only a handful of editors are able to provide even 90% of Vi's editing features. And none (not even emacs) can do it with so few keystrokes (that does make the learning curve on Vi rather steep).
The disadvantage to such an effecient input system is when the cat jumps on your keyboard, you can have hours of work erased in Vi.
ps- I have vi-like bindings in my Cocoa windows. you can actually change how the input works and plug in something else. Or you can just tweak it to use Ctrl-vi key without even using a plugin by editing DefaultKeyBinding.dict. The emacs bindings that are there by default are pretty weak anyways.
“Common sense is not so common.” — Voltaire
Now, if I were to start fresh, would I still choose vim? I think the answer is a resounding "probably." Here are some reasons why:
vi[m]'s ubiquity I think is its strongest argument. Other editors exist to satisfy the other requirements, and some of them might even do it in less obscure ways. But if you're the type who needs to bounce around on different systems running different unixes, vi is always just there. And once you become proficient enough, you're really not strongly inclined to use anything else.
The thing that most people don't realize about VI(M), is that it works very well when using things like telnet to edit your files. There are many characters like ctrl, alt, home, and such that don't travel well over telnet. Having a program like VI(M) is great when you're accessing from a remote system, and can only use the keyboard.
Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
Try this: :set paste
:set nopaste
That should fix that problem, but it has some other weirdnesses. So, once you're done pasting set it back to nopaste:
You could probably map that to a shortcut if you wanted to make it quicker. I don't need it that often, so I haven't bothered.
I'm a long-time-VIM-hater-turned-lover. I've been working with Linux systems for years, but always refused to learn my way around VIM, choosing to stick with nano instead. Why for the love of god not at least make Ctrl-C or Ctrl-Q or 'quit' or SOMETHING work???
After sitting through a presentation of a heuristic analysis of VIM in one of my HCI classes, where VIM was ridiculed for being the most un-intuitive, un-user friendly pieces of software since MS-DOS, I never thought I'd find myself using this tool... and actually LOVING it.
Well... fast forward a few months... I got fed up with nano's lack of a search-and-replace feature, and didn't feel like learning awk or sed. I finally decided to give vim a serious try. The key was finding this cheat sheet.
Now I love it... I'm cw'ing, y'anking, dd'ing away. Mind you I still prefer Eclipse for full-fledged development, but there's nothign like super quick and efficient scripting with vim.
Learn it. It's worth it.
This feature (ctrl-n auto-complete) was available in vim 6. The change in 7 is that the possibilities for completion now appear in vertical group; before, I had to press ctrl-n multiple times to cycle through the possibilities.
From what I'm reading in the vim7 docs, what *is* new is "omni completion". You press ctrl-x ctrl-o to invoke it. But when I tried that on a Python file with vim 7 installed from their Windows binary, I got "Error. Required vim compiled with +python."
I'll bite. A little enlightenment on vim can't hurt.
instead of being able to undo the undo you just accidentally undid
Well, almost every text editor and word processor in the world has this. The command for 'redo' (undo the undone) is :red or CTRL+R.
vim can be a real surprise when it drops you somewhere into the middle of a file
set viminfo='0 in .vimrc.
And colorized editing!?!
I'd appreciate a "strict vi mode" command
vim -v
Roses are #FF0000, violets are #0000FF, all my base are belong to you
in a word, yes.
more specifically, Vim can do everything Emacs can do, and has a lot of features i find every other editor lacking in. there's even an IRC client.
there are lots of ways to do it. there is also a good deal of built-in support that works with most of what you'd do out-of-the-box. (note: i don't use folding much, but i instead rely on '%' to jump around and '#' or '*' to find definitions.)
in the standard distribution of Vim in Gentoo, that's on by default. as you type, opposing brackets are highlighted and missing pairs are marked with color. elsewise, you can use '%' to find matching parens, brackets, braces, whatever very quickly.
personally, i find sed to be more than adequate for the job. if you want integration in your editor, these commands might work:
:argdo %s/foo/bar/
:bufdo %s/foo/bar/
:windo %s/foo/bar/
:!. of course, being somewhat of a fairly new user to Vim (only been using it for a couple years now), i'm always learning new features.
...although if you want to modify files not already open in the editor, again, sed works just as well and can be run from within vim with
grey wolf
LET FORTRAN DIE!