Vim ( Vi Improved ) |
|
Vim is the editor I use both at home and at work to edit and maneuver text files, scripts, code, and just about anything else. I even write my HTML pages using Vim including the one you're reading. If you're unfamiliar with Vi check out the Vi Lovers page for some excellent anti-Emacs propoganda ;). Click the thumbnail for a larger image showing my desktop running gvim. |
For starters Vi's big selling point to me was the ability to move around a file without moving from the "home row". It's much more than that however... |
Vim has some cool features that are not found in other editors. These are a few of it's main features (as of version 6.0ap the first 6.0 BETA) type :h version6.txt to see all that's changed since 5.7/8: |
|
These features have been in Vim since versions previous to 6. |
|
I could go on and on... try it for yourself and see. |
|
Stuff I found useful to use with(in) Vim |
VisVim add-in available for VC++. When opening a file now jumps to the spot in Vim. Has lots of other features but that's all I use it for, loading on demand. |
OpenWithVim / SendToVim |
These excellent utilities help to integrate Vim into the windows environment just a little better. OpenWithVim allows directing any file to *one* instance of Vim using OLE. SendToVim allows sending any vim commands to the running instance. Very cool! Both programs are part of the extra zip included with the distribution. The 6.0 betas now have this functionality built in for all platforms using arguments to vim (+clientserver). |
Cygwin has ported most if not all of the Unix command line utilites for Win32. Interoperates very well with Vim as well as there being a cygwin port of Vim that groks the /cygdrive etc notations. |
|
VC++ additions |
For those who use Visual C++ and edit with Vim this might interest you. I wanted to be able to run VC++ commands from within Vim. VisVim is a great VC++ add-in but it currently only handles 1 way communications: From VC++ to Vim . |
If you compile Vim for the Win32 platform yourself, add the two files that are located here, and add them to the project. The header file has instructions on how to add this functionality within Vim. Hopefully this will be added as a compile option into the main Vim code base but I want to do further testing and add a little more functionality before submitting it. NOTE: This code is not a stellar example of how to use ATL, feel free to clean it up, it was also created around the time of 5.7 so it's probably a little different now. |
Features ( not all are implemented yet ):
|
  Download! |
vimsh : Terminal/Shell buffer for vim |
Works if you have a python enabled [g]vim and the platform you run
on supports pty or pipes. Most Unix variants should work fine as
well as Windows. This is an interactive shell buffer, not using
tricks like !r |
Click here to see a screenshot under Linux.
Click here to see a screenshot under Windows.
|
Unix tarball:      Download! Windows zip:     Download! |
|
The following link has my ~/.vim directory which has some helpful things for using vim I've accumulated over the years, including: |
|
  Download! |
|
I really like using the hjkl keys for movement and have patches for a few window managers/libraries/etc to use them for menu traversal, and moving and resizing windows. Go to my programming page to grab them. I currently have patches for afterstep, kde (qt menus, and kwin size/move). I now use fvwm2 which supports using hjkl out of the box so I no longer need these patches. |
|