This project has been on hold since 2016.
All the data on this site is still available (and will stay available) but not actual anymore.
You might be interested in checking out Dmitry Moskalchuk's portfolio website to learn about his other projects.

GVIDE - gVim based development environment (IDE)

Description

  1. Hide differences between VIM modes (normal, insert, visual etc). GVIDE switch VIM to insert mode just after start and keep it in this mode. Sometimes GVIDE operates in 'normal' mode (as it required for some operations) but then switch VIM back to 'insert' mode just after completion of these operations. From user point of view it looks as traditional editing process, without modes switching.
  2. Defines set of keyboard shortcuts traditionally used in modern editors. So you could select text using Shift + movement keys, copy to clipboard with Ctrl+C/Ctrl+Insert, paste with Ctrl+V/Shift+Insert etc. Full list of shortcuts could be found in documentation.
  3. Allow to work in different modes - raw, IDE, Debug and Diff. These modes differs by frames layout and different meaning of shortcuts. For example, key F5 being pressed in IDE mode starts debug, but in Debug mode - continue run.
  4. Extends VIM with new functionality (VIM sources altered). These extensions are functions of internal VIM script language and allowed to usage in user scripts. Names of such functions begins with prefix "gvide_" (for example, "gvide_popup").
  5. Add generic mechanism of asynchronous events handling. It allows to react on external events (such as new data in FIFO pipe) in the same manner as to keyboard/mouse events. This is very important difference with mainline VIM, which can do the same only through VIM server registration and VIM clients connecting to this server. As for now, mechanism implemented for GTK VIM only (Linux, in fact), but I'm planning to add support for Windows and Mac OS X soon.
  6. Own configuration file with much more simple structure then original .vimrc (which actually contains mess with options and VimScript functions). So there is no more need to learn VimScript and/or VIM configuration rules.
  7. Integrated support of Version Control Systems. Right now only CVS, SVN and Git supported. This support is not yet ideal and could be improved but basic functions (such as add/delete of files, view local diff, update/commit) works fine.
  8. Project-based workflow. Actually GVIDE project is just point in file system tree + set of opened files. On project opening GVIDE automatically go to specified directory and open all remembered files. List of projects (sorted in Most Recently Used order) also provided.
  9. Integration with exuberant ctags. It allows to use project-specific syntax highlighting. For example, if you have class MySpecificClass in project, it will be highlighted as class and not as function. Note: C++ support is limited, because ctags is not C++ compiler and could mistake. Nevertheless, it works good enough in practice.
  10. Fast search of symbols, jump to declaration/definition and back. Stack of jumps. Very helpful for tasks such as learning of unknown code. See note for previous p.
  11. Integration with system documentation (man). Just set cursor on word in text and press F1.
  12. Autocomplete of text in process of typing. Current and open files used for search of possible variants. Also there is explicit completion of word, in this case list of tags for current project used in search of variants. Note: context sensitive completion is also available, but it is disabled by default because it's not finished yet.
  13. Integration with external debugger for visual debugging (including step-by-step one). Right now GDB only supported but it's possible usage of other debugger in the future.

This list does not contain many others, not so important features. More full list of features will be described in documentation. Unfortunately, right now documentation consists of alone pieces so it should not be easy to get it finally done. Nevertheless, I'm continue to work on this project and therefore it will grow (no other options).

And what I've forgotten. If somebody would be interested to help me with GVIDE, I would glad to hear that. Write me to address below.

Download

Here you can get latest snapshot from repository

How to build

Here described how to build GVIDE under Linux
  • Install packages, required for gVim - gcc, binutils, gtk2, gtk2-devel
  • Download latest snapshot of GVIDE and unpack it to some temporary location
  • Go into gvide folder and type:
    ./make.sh --help
    If all right, you'll see something like this:
    Usage: ./make.sh [OPTIONS] [install|install-gvide]
    Options should be specified in the form "--name=value" or "--name value"
    Available options:
      -h, --help           Print this screen
      --prefix=DIR         Install prefix (/usr by default)
      --fetch              Fetch required sources (VIM and ctags)
      --svn=REV            Fetch specified revision of VIM (HEAD by default)
    Available targets:
      install-gvide        Install only GVIDE files, dont't install 3dparty
                           soft (VIM and ctags)
      install              Full install - GVIDE files and 3dparty soft
      clean                Clean all intermediate files of the 3dparty soft
    
          
  • Now type
    ./make.sh --fetch install
    This command will download latest version of VIM from its repository, exuberant ctags, will configure and build executable files, and will copy all required staff to specified location (prefix). Note that you need to run it under sudo or su if you have no permissions for write to this directory.
  • Finally, executable could be found at <prefix>/bin/gvide location. Run and enjoy!
Back
Home
Map
Back
Home
Map

Our contributors: