May 10 2006

Vim 7.0 has been Released

Vim The Text Editor Bram Moolenaar announced the released of Vim 7.0. New features since 6.4 include (sorry only list the ones that I am interested in).

  • Vim script enhancements — now you can have List, Dictionary and Funcref inside Vim scripts. One step towards becoming Emacs?
  • Spell checking built in — use :set spell to underline the mis-spelt words, and z= to list suggestions. For myself it has to be the most useful feature. No more excuse to misspell words now.
  • Omni completion — type Ctrl-X Ctrl-O in insert mode and a popup will appear with suggestions to let you select for completions. Many programming languages are supported.
  • Tab pages — everyone loves tabs, and now even Vim has one! You can use GUI tab or just a simple label at top.
  • Undo branches — now you can redo the changes that you have previously undone and made further change over it. You can undo/redo by timestamping the changes.
  • Internal grep — use :vimgrep <pattern> <files> and it will find the matches. Use :cnext and :cprev to go to the next/previous match.
  • Remote file explorer — using the netrw plugin, which supports remote editing using WebDAV, FTP, SCP, SFTP, etc.

… and many more. Just go, download and install it. Type in :help version7 for the comprehensive list of changes.


Like all trades person who has his/her favourite toolbox, Vim has been my “tool of choice” over the last 8 years. It is available on almost all platforms, and is also installed by default on almost all platforms (not talking about some inferior operating system here). It is fast — fires up pretty quickly. It is fast — a few key strokes can get all your mass editing done. It might have a high learning curve, but once you get over it, you just can’t live without it.

I came from a PC/MS-DOS background (from the mid-80′s) and “vi” has never been my cup of tea. I am more familiar with text editors like the ones came with Borland’s Turbo C/Turbo Pascal (based on their text-based TurboVision if I remembered correctly). Editor that only has one “mode”, press shift to select, has a menu bar, etc.

So when I started uni and has to get myself familiar with the un*x operating systems, “vi” is not my obvious choice. I have used NEdit for a while, felt that it wasn’t powerful enough, and then switched to Emacs and XEmacs. I was happy, as it is very configurable (I spent way too much time hacking my lisp), easy enough to use and came with a kitchen sink.

Fast forward to end of 1997. I got a junior developer/apprentice role at Creative Computing, which at that stage runs all their development on a single Pentium server running SCO OpenServer. Everyone has their low-end workstation connected to that server via telnet, and everyone — including sales and support — uses a vanilla “vi” to get their editing done. I don’t have the luxury to use other text editors so I ended up having a crash course on “vi” as well.

It turns out “vi” is actually not bad. At least inside a dodgy terminal (can’t remember what term emu we were using but it was really dodgy) it performs well, and allows me to edit files efficiently. Pretty soon Vim 5 got released with syntax highlighting, and got it “sort-of” working on that old OpenServer…

The rest is history.

I only stayed in Creative Computing for 7 months, as I had to go back to uni to finish my thesis. But this “vim” bug stuck with me ’til today. For the next few jobs I had, regardless whatever environment they have already provided, I feel that I cannot edit effectively without Vim.

There are many “habits” that just stuck with me because of a certain circumstances I was in. I’ll leave that in other entries…

No Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>