Monthly Archives: May 2006

VIM7 Fun

At work I have to use a pretty nasty Windows based development environment for a microcontroller.

You can configure it so that it starts a text editor of your liking to edit the source files. This editor gets called when you click on a file or on an error message in the compiler output. The DE also accepts a setting for parameters to the editor. There are two meta character codes. One is for the file (%F) and the second for the line the editor should jump to (%L). The problem is that it uses the same settings for the error invocation as for the normal file opening.

I wanted to use VIM7 and the new nice feature of tabs. As vim also supports remote invocation I decided that I want the DE to open the files in one central vim instance.

It took me some time to find out the correct command line setting so I want to share it with you.

gvim –servername <some_distinct_name> –remote-tab-silent +0%L %F

Now some explanations.

–servername is needed so that it always finds the correct vim window.

— remote-tab-silent is a directive that vim should start editing the file provided by %F in a remote window in a new tab if the file is not yet being edited. The “silent” addition makes vim not yield an error if there is no vim instance running yet, and start a new instance by itself.

The +0%L is there so that when %L is there vim jumps to that line but when %L is empty it does not jump to the end of file but to the beginning. That is why the 0 is there.

Ok I hope it is useful for someone. Have fun with VIM 😉

Update: Corrected the unvisible some_distinct_name 😉

VIM7 Released

Finally! After years of development a new major release of my and many others favorite text editor is there. It contains many new very nice and useful features:

  • Spell checking support for about 50 languages
  • Intelligent completion for C, HTML, Ruby, Python, PHP, etc.
  • Tab pages, each containing multiple windows
  • Undo branches: never accidentally lose text again
  • Vim script supports Lists and Dictionaries (similar to Python)
  • Vim script profiling
  • Improved Unicode support
  • Highlighting of cursor line, cursor column and matching braces
  • Translated manual pages support.
  • Internal grep; works on all platforms, searches compressed files
  • Browsing remote directories, zip and tar archives
  • Printing multi-byte text

Grab it here!