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...