Template Version: @(#)sac_nextcase 1.66 04/17/08 SMI This information is Copyright 2008 Sun Microsystems 1. Introduction 1.1. Project/Component Working Name: gvim (gtk2) 1.2. Name of Document Author/Supplier: Author: Brian Gupta 1.3 Date of This Document: 22 August, 2008 4. Technical Description
1. Introduction and motivation 1.1 Summary This project proposes to integrate vim version 7.1 with the gtk2 graphical toolkit. In our previous case (SUNWgvim / PSARC 2007/267 ) we aimed to integrate a modern version of vi (vim) available on all Solaris systems. This proposal builds on the future plans indicated in that proposal and is targeted at the user(s) who need a the graphical version of vim. The package will tentatively be called "SUNWgvim". 1.2 History and context Please see PSARC 2007/267 for background into the initial motivations to integrate vim with Solaris. At this point we propose to further enhance the functionality of vim by contributing an optional package that provides additional functionality, that will deliver the graphic mode vim (gvim). 2. Discussion 2.1 Functionality (in addition to that provided by SUNvim PSARC 2007/267 ) This version has a superset of the functionality provided by SUNWvim. The "gvim" executable will have feature parity with SUNWvim. 2.2 Components The SUNWgvim will deliver a single executable "gvim" into the system. In addition, the following symlinks will be installed: gview -> gvim gvimdiff -> gvim rgview -> gvim rgvim -> gvim gvim is smart enough to recognize how to behave depending on what command name that was used to launch it. e.g. - restricted mode, "easy" (modeless) mode, diff mode, read-only mode, and some combinations of these. 2.3 Language bindings. --none-- 2.4 GUI bindings This version of gvim is proposed to be built against the gtk2 GUI library provided in Nevada. Gtk2 is provided with the following package: SUNWgnome-base-libs 2.5 Documentation Vim/gvim comes with man pages, but the most significant sets of documentation are accessed via gvim itself. Within gvim typing ":help" will bring up the vim help system. There are two main sources of additional documentation: SourceForge [1] and gvim's [2] home pages. Vim/gvim has comprehensive and elaborate documentation. Help can be accessed from within the editor. gvim provides the following man pages: /usr/man/man1 gvim.1 gvimdiff.1 2.6 Future projects 1) Investigate dynamic language bindings. 2) Upgrade vim/gvim to 7.2+ 3) Investigate additional modules e.g. - cscope 4) Replacing the current version of vi with vim 5) Changing Sun Studio's bundled vim to the system vim 6) Investigate interest in "tiny-vim" or "vim-minimal" package =============================================================== 3. Interfaces 3.1 Imported interfaces 3.1.1 Interface stability Vim/gvim has no obvious history of any interface stability and the expectation is is that dot-dot releases of gvim will be compatible. 3.1.2 Imported interfaces stability: gtk2 Committed vim Uncommitted 3.2 Exported interfaces Bundled files SUNWgvim Uncommitted Package name /usr/bin/gvim Uncommitted Executable binary /usr/bin/rgvim Uncommitted Symbolic link location /usr/bin/rview Uncommitted Symbolic link location /usr/bin/rgvim Uncommitted Symbolic link location /usr/bin/rgview Uncommitted Symbolic link location 4. References [1] http://vimdoc.sourceforge.net/ SourceForge - Official documentation repository [2] http://www.vim.org/docs.php - gvim documentation homepage, includes man links 6. Resources and Schedule 6.4. Steering Committee requested information 6.4.1. Consolidation C-team Name: SFW 6.5. ARC review type: FastTrack 6.6. ARC Exposure: open