Vimjuta 0.1 Released

18 08 2008

Vimjuta 0.1 “Take me to your leader” has released. Hurrah!

Download Here

Features:

  • Tags / Symbols Viewer
  • Debugger Support
  • Stability!

Known Bugs:

  • You can’t run more than 1 session at a given time. This is because I’ve been using a DBus session bus instead of creating a peer-to-peer connection. In case the program doesn’t work, kill any ghost gvim processes you have running.

Missing Features:

  • AutoComplete: AutoComplete should *technically* work, but I haven’t been able to get it it to work even with the existing editors.
  • Search / Selections : The current implementation is a bit buggy, so I’ve commented out the support. At any rate, vim’s search is infinitely better.

Boring Screencast (Redoux!):

I finally managed to get a screencast. I’m still not sure what the problem was, but it isn’t recurrent, so I’m scared. It looks like I have some bugs to fix, sigh. The video shows a Symbol Browser (actually the plugin is called the Symbol Database. It’s some new and awesome SVN dope) and debugging working. At some point in the video, the program counter disappears. I don’t know why this is, but I have found that Anjuta makes a lot of duplicated Mark/Unmark calls which do sometimes overlap. The bug will be fixed shortly.

Installation Instructions:
Unfortunately, the installation process for Vimjuta is a bit of a pain. Until Anjuta releases 2.6 (which will feature James’ Git Plugin), my patches will not be included upstream.

You can always grab the latest version from SVN, and the release is r50. I’ve also hosted a tarball. To use the plugin, you need to have anjuta-svn (which you should get anyway due to sheer awesomeness). Copy the editor-multiple.diff and accels.diff to anjuta/, patch anjuta. Build, and install anjuta, and finally, build and install anjuta-gvim/. Further instructions can be found in the INSTALL folder.

The plugin on first run will install some configuration files at .config/anjuta/gvim/, namely, anjuta.vimrc (to make vim usable), and a “locked_keys” file which contains some keybindings that should never be remapped by anjuta (for example <C-n> or <C-w>).

Also, to have any fun with the plugin (or vim in general), install the awesome MiniBufExplorer (VimScript #159:
http://vim.sourceforge.net/scripts/script.php?script_id=159).

Ramblings:
The past couple of weeks have been crazy. From closing bugs just minutes before the GSoC India meet, to being pulled into doing a ton of work for our college’s Golden Jubliee year, and finally fending off people who want me to do their bidding. But it’s there. Vim has assimilated Anjuta, and it’s only due time before Vim takes over the rest of the world.

I pushed out the “offical” release at approximately 11:59 p.m on Friday, which qualifies this release as an “Independence Day” special, and makes me an inch closer to James Bond. There have been so many changes between the last time I blogged about it and now, I hardly know where to begin.

Currently, the keybindings for vim and anjuta mush into each other a lot. The problem is that I need some Anjuta keybindings (like debugger support), and vim keybindings basically take the whole keyboard. A slightly hackish solution I’ve come up with was to unload all of anjuta’s accelerators, and then load another set especially for “Vimjuta”, and lock some special keys like <C-n> or <C-w> which was previously getting overwritten. This solution works by and large, but it’s an unstable solution, as other plugins can overwrite the key-mappings.

Another problem I faced previously was updating the embedded Vim window. From what I managed to gather, GtkSockets don’t emit signals, nor can you invalidate their rectangles. So when I moved the cursor remotely using DBus, it would not update on the screen, until I sent it some form of event (generally by scrolling the mouse). The vim –remote functions seemed to work, and I deduce the reason being that it updates a “window property” (part of the X11 ICCCM protocol). At this point, I’d like to thank Guido Von Rossum for Python, and Ali Ashafar for PIDA. I managed to find out how to set Vim’s properties properly. Now the symbol database and browser work properly.I have noticed how ready vim is for an IDE. It has over the years accumulated an quite a few IDE specific features, like inserting marks (useful for debugger support), remote file editing, etc. This of course made my life much easier. I also realized that I was wasting a lot of time on really unnecessary gui-fications of vim features (like search) instead of features like Debugger Support that vimmr’s really need. All I had to do was keep track of my debugger marks, and that was enough to bring Debugger support.

I hope that everyone likes the plugin, and I’d love to hear feedback.

Advertisements

Actions

Information

6 responses

18 08 2008
homo

nice work!
will wait for further releases.

thank you.

19 08 2008
Diego Escalante Urrelo

Yay!. Finally I can recommend my IDE (vim alone) to people expecting gui IDEs like anjuta :).

20 08 2008
Uttara

Good Stuff. Except that I can not understand anything.

20 08 2008
Uttara

By the way, when is the treat? 😛

19 10 2008
Jacek

perfect work… but:
vim-editor.c:49:29: error: vim-widget-priv.h: No such file or directory
it is fixed in svn version downloaded from google code, but I have another problem:
id don’t have file: libanjuta/interfaces/ianjuta-editor-multiple.h

20 10 2008
arunchaganty

@Jaeck: Hey! You have to first apply the patches found in misc/ to the anjuta svn source trunk (It’s pretty upto date. I just fixed some bugs yesterday and made some new diffs). Please read the INSTALL document for more information. Feel free to email me if you have anyother queries.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s




%d bloggers like this: