VIM on OpenVMS Information Page



What is Vim?

VIM (Vi IMproved) is a vi-compatible text editor that runs on nearly every operating system known to humanity. Now use Vim on OpenVMS too, in character, X/Motif or GTK environment. It is fully featured and absolutely compatible with Vim on other operating systems as Unix, OS/2, BeOS or Windows.

Where can I find out more about Vim and VMS?

Official VIM Home Page http://www.vim.org
Official VIM Documentation Page http://vimdoc.sourceforge.net
Vi Lovers Home Page http://www.thomer.com/thomer/vi/vi.html
Information about the VMS operating system http://www.polarhome.com/vms/


Online Vim ref. manual v8.2 in HTML http://www.polarhome.com/vim/manual/v82
Online Vim user manual v8.2 in HTML http://www.polarhome.com/vim/manual/v82
Online OpenVMS users manual v8.2 http://www.polarhome.com/vim/manual/v82


Developer releases, new sources http://www.polarhome.com/vim
Older releases, helps, sources http://www.polarhome.com/vim/old.html
Older manuals, documentation and user guides http://www.polarhome.com/vim/manual
CTAGS development on VMS, sources http://www.polarhome.com/ctags
Online http Vim on VMS file archive http://www.polarhome.com/vim/files
Online ftp Vim on VMS file archive ftp://ftp.polarhome.com/pub/vim

Current Version Information

Current release is 8.2.222 (status: TESTED - download ready)
Developers release N/A - executables/preview in developers corner

Tweet

Open VMS Vim Binaries

These links provide you with binaries for Vim text editor for OpenVMS operating system on AXP(Alpha), VAX and IA64(Itanium). All binaries were compiled using all the default settings. Please, check the comments for enabled GUI mode or terminal only mode executables.

Binary Version Information

:version
                                                                      
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Feb  8 2020 18:16:51)
OpenVMS version - IA64
Included patches: 1-222
Compiled by SYSTEM@IA64::IA64.POLARHOME.COM
Huge version with X11-Motif GUI.  Features included (+) or not (-):
+acl               +cmdline_info      -farsi             +linebreak         +mouse_urxvt       -python3           -tag_any_white     +visualextra
+arabic            +comments          +file_in_path      +lispindent        +mouse_xterm       +quickfix          -tcl               +viminfo
+autocmd           +conceal           +find_in_path      +listcmds          +multi_byte        +reltime           +termguicolors     +vreplace
+autochdir         +cryptv            +float             +localmap          +multi_lang        +rightleft         -terminal          +wildignore
-autoservername    -cscope            +folding           -lua               -mzscheme          -ruby              +termresponse      +wildmenu
+balloon_eval      +cursorbind        -footer            +menu              -netbeans_intg     +scrollbind        +textobjects       +windows
+balloon_eval_term +cursorshape       -gettext           +mksession         +num64             +signs             +textprop          -writebackup
+browse            +dialog_con_gui    -hangul_input      +modify_fname      +packages          +smartindent       +tgetent           +X11
++builtin_terms    +diff              -iconv             +mouse             +path_extra        -sound             +timers            +xfontset
+byte_offset       +digraphs          +insert_expand     +mouseshape        -perl              +spell             +title             -xim
-channel           -dnd               -job               +mouse_dec         +persistent_undo   +startuptime       -toolbar           -xpm
+cindent           -ebcdic            +jumplist          -mouse_gpm         +popupwin          +statusline        +user_commands     -xsmp
+clientserver      +emacs_tags        +keymap            -mouse_jsbterm     +postscript        -sun_workshop      +vartabs           +xterm_clipboard
+clipboard         +eval              +lambda            +mouse_netterm     +printer           +syntax            +vertsplit         -xterm_save
+cmdline_compl     +ex_extra          +langmap           +mouse_sgr         +profile           +tag_binary        +virtualedit
+cmdline_hist      +extra_search      -libcall           -mouse_sysmouse    -python            -tag_old_static    +visual
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "sys$login:.vimrc"
 2nd user vimrc file: "sys$login:vimfiles/vimrc"
 3rd user vimrc file: "sys$login:_vimrc"
      user exrc file: "sys$login:.exrc"
  2nd user exrc file: "sys$login:_exrc"
  system gvimrc file: "$VIM/gvimrc"
    user gvimrc file: "sys$login:.gvimrc"
2nd user gvimrc file: "sys$login:vimfiles/gvimrc"
3rd user gvimrc file: "sys$login:_gvimrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
    system menu file: "$VIMRUNTIME/menu.vim"
Compilation: cc/def=(FEAT_HUGE,HAVE_CONFIG_H,FEAT_GUI_MOTIF    )  /opt/prefix=all  /include=([.proto],decw$include:  ,[.xdiff])
Compiler: HP C V7.3-020 on OpenVMS IA64 V8.4
Linking: link /exe=vim.exe ALL_OBJS_LIST.OPT/OPT ,OS_VMS_MOTIF.OPT/OPT

Known problems:

- There is no port for GTK2 on OpenVMS and from Vim 7.3 GTK is not supported - it means there are no GTK executables from 7.3.
- on IA64 MMK needs to be used to build VIM

Full list of VMS related issues can be found in the polarhome's ticketing system: vim_vms
Please, feel free to open a new ticket/issue, if needed.


NOTE:
For compatibility reasons executables have been built on lowest available OpenVMS version.
Currently 8.3 for IA64, v7.3 for AXP and v7.3 for VAX environment.
GTK version for AXP requires at least v7.3-2, for IA64 v8.2 and of course installed LIBGTK (if used with provided LIBGTK).

Build and test cases

The followng tools have been tested during Vim development.

Compilers:
HP C V7.3-020 on OpenVMS IA64 V8.4
HP C V7.2-001 on OpenVMS IA64 V8.3
HP C V7.1-011 on OpenVMS IA64 V8.2
hp C T7.1-003 on OpenVMS IA64 XAIP-T3Z
Compaq C V6.2-009 on OpenVMS Alpha V7.2-1
Compaq C V6.4-008 on OpenVMS Alpha V7.1
Compaq C V6.5-001 on OpenVMS Alpha V7.3
DEC C V6.0-001 on OpenVMS Alpha V6.2-1H3
DEC C V6.0-001 on OpenVMS Alpha V7.1-2
DEC C V6.0-001 on OpenVMS VAX V6.2
DEC C V6.0-001 on OpenVMS VAX V7.2
Compaq C V6.4-005 on OpenVMS VAX V7.3

CTAGS and XXD are compilable with VAXC without modifications. Read more about VAXC related issues in INSTALLvms.txt (comes with the source package)

Make utilities:
%MMS-I-IDENT, MMS V3.8-2 ? Copyright 2007 Hewlett-Packard Development Company, L.P. FAILS TO BUILD
%MMS-I-IDENT, MMS V3.7 © Copyright 2005 Hewlett-Packard Development Company, L.P.
%MMS-I-IDENT, MMS T3.6-4 © 2004 Hewlett-Packard Development Company, L.P.
%MMS-I-IDENT, MMS V3.5 © 2003 Hewlett-Packard Development Company, L.P.
%MMS-I-IDENT, MMS V3.3-4 © Digital Equipment Corporation 1989, 1998. All rights reserved.© Electronic Data Systems Limited 1995, 1998
%MMS-I-IDENT, MMS V3.4-3 © Compaq Computer Corporation 2000. © Electronic Data Systems Limited 1995, 2000
%MMK-I-IDENT, this is the MadGoat Make Utility V3.4-10
-MMK-I-COPYRIGHT, Copyright © 1992-1996, MadGoat Software.  All Rights Reserved.
%MMK-I-IDENT, this is the MadGoat Make Utility V3.9-2
-MMK-I-COPYRIGHT, Copyright © 1992-2001, MadGoat Software.  All Rights Reserved.
%MMK-I-IDENT, this is the MadGoat Make Utility V3.9-9
-MMK-I-COPYRIGHT, Copyright ? 1992-2004, MadGoat Software. All Rights Reserved.
View INSTALL.LOG

Tests: most of the tests passed, but
Test 21 : Failed on 7.2 systems and lower  (VAX, Alpha)
Test 32 : Failed on 7.1 systems and lower  (VAX, Alpha)
Test 47 : Failed - VMS diff not implemented yet. (have to use Unix like diff, provided in GNU_TOOLS below)
Test 58 : Failed/Hangs - VMS does not support spell files (file names with too many dots).
Test 59 : Failed - VMS does not support spell files (file names with too many dots).
Test 72 : Bug - Vim hangs at :rename (while rename works well otherwise)
Test 78 : Bug - Vim dies at :recover Xtest
Test 89 : Bug - findfile() does not work on VMS (just in the current directory)
Test 97 : Just ODS-5 supports space and special chars in the filename. On ODS-2 tests fail.
Test 102: Same like test97

View TEST.LOG

Environment

You should define only one important logical for proper response of help command, syntax files and menus: $VIM
Please, put this line to your SYS$LOGIN:LOGIN.COM or system administartors could include into SYLOGIN.COM

$ define VIM <full path to VIM directory>

NOTE: actually logical $VIMRUNTIME is used for syntax, help and other runtime resources. If this logical does not exist Vim defines it in the process job table during first run. If user does not have permissions or has quota limitations that pervent creating this logical by Vim executable - system adminstrators should define it globally. $VIMRUNTIME logical should point to runtime resources path - usually where $VIM points.

System menu file should be (actually just in GUI mode): "$VIM:menu.vim" or defined by command source <path>menu.vim in .gvimrc
Exemple part of LOGIN.COM vim related lines:

$ define VIM RF10:[UTIL.VIM82]              ! vim main directory.
$ vi*m :== mcr VIM:VIM.EXE                  ! vi starts vim in chr. mode.
$ gv*im :== spawn/nowait mcr VIM:GVIM.EXE -g ! gvi starts vim in GUI mode (NOTE: rename VIM.EXE to GVIM.EXE!)
$ set terminal/inquire                      ! (optional) ensure right terminal detection
$ def VIMRUNTIME RF10:[UTIL.VIM82]          ! (optional) full path to runtime environment if different than VIM 

You can find more information about setting up the the environment in os_vms.txt ... command :help vms from Vim

How does it look like now? Check some screen shots
Live demonstration at gate.polarhome.com port 702 (username: guest  password: guest) (VAX system console and Motif)
Live demonstration at gate.polarhome.com port 762 (username: guest  password: guest) (Alpha system console, Motif and GTK)
Live demonstration at gate.polarhome.com port 982 (username: guest  password: guest) (Itanium system console, Motif and GTK)
...or from IPv6 network by vax.polarhome.com and alpha.polarhome.com and ia64.polarhome.com

If you are VIM (or any open source project) developer on OpenVMS without develpment environment, please apply for account at root(at)polarhome.com. Please, note that "simple" polarhome accounts might not have enough high quota for advanced development.

Download Files

Executables  
vim-82-exe-ia64-gui.zip(IA64) GUI/Motif binaries without documentation and runtime files - IA64
vim-82-exe-ia64-term.zip(IA64) Console binaries without documentation and runtime files - IA64
vim-82-exe-axp-gui.zip(AXP) GUI/Motif binaries without documentation and runtime files - AXP
vim-82-exe-axp-term.zip(AXP) Console binaries without documentation and runtime files - AXP
vim-82-exe-vax-gui.zip(VAX) GUI/Motif binaries without documentation and runtime files - VAX
vim-82-exe-vax-term.zip(VAX) Console binaries without documentation and runtime files - VAX


Deployment ready
vim-82-ia64.zip (IA64) GUI/Motif and Console binaries with documentation, runtime files, CTAGS and XXD - IA64
vim-82-axp.zip (AXP) GUI/Motif and Console binaries with documentation, runtime files, CTAGS and XXD - AXP
vim-82-vax.zip (VAX) GUI/Motif and Console binaries with documentation, runtime files, CTAGS and XXD - VAX


Runtime files
vim-82-runtime.zip Patched Vim 8.2 - runtime files, updated to recent patch - without executables


Source code and other packages
vim-82-src-vms.zip Source code used for compiling current version under OpenVMS
vim82html.zip Compressed Vim 8.2 manual in HTML - read online
GNU tools (Alpha and VAX) GNU programs (diff, patch, make, gzip, tar, sed, gawk etc.) that Vim uses or because of Unix compatibility behave better with Vim than OpenVMS versions (optional)
LIBGTK(AXP) Runtime GTK library for AXP - needed to run Vim with GTK GUI - OpenVMS 7.2-2 or above
LIBGTK (IA64) Runtime GTK library for IA64- needed to run Vim with GTK GUI - OpenVMS 8.2 or above
unzip.exe(VAX) unzip utility for VAX
unzip.exe (AXP) unzip utility for AXP
unzip.exe (IA64) unzip utility for  IA64
mmk_vax.exe  MMK, free make utility for VAX
mmk_alpha.exe MMK, free make utility for AXP
mmk_ia64.exe MMK, free make utility for IA64
cvs_alpha.exe ConcurrentVersions System (CVS) is a tool for version control
(more information at http://www.cyclic.com )

What to download?

You may find different packages here:

Anonymous FTP

... are available on:

Bug report and fixes

You can send your bug rapport to vim-vms-bugs(at)polarhome.com or to discussion list vim-vms(at)polarhome.com (if you are subscribed).
Also bugs can be submitted directly to the polarhome's ticketing system.
Please, include among the detailed description: VIM version (command :ver), VMS version and platform (Alpha, VAX, etc). and if you have some compilation problems, please add the compiler version as well.

Here is the list of Vim enthusiasts who contributed in development, testing, bug rapport, suggestions, fixes, solutions and documentation for OpenVMS version so far.
 
Sándor Kopányi <sandor.kopanyi(at)mailbox.hu>
Henk Elbers  <henk(at)xs4all.nl>
Charles E. Campbell, Jr <cec(at)gryphon.gsfc.nasa.gov>
Hal King <hking(at)pstcc.cc.tn.us>
Jerome Lauret <JLAURET(at)mail.chem.sunysb.edu>
David Elins <delins(at)foliage.com>
László Taska <laszlo.taska(at)essnet.se>
Tamás Kovács <tamas.kovacs(at)scientificgames.hu>
Patrick Moreau <pmoreau(at)cena.dgac.fr>
Stephen P. Wall <hitched97(at)velnet.com>
Zoltán Árpádffy <arpadffy(at)polarhome.com>
Jan Kluka <Jan.Kluka(at)st.fmph.uniba.sk>
John W. Hamill <jhamill3(at)ford.com>
Coen Engelbarts e-mail not shown
Tomás Stehlík <tstehlik(at)pikeelectronic.com>
Samuel Ferencik <sferencik(at)gmail.com>
Neil Rieck <neil.rieck(at)bell.ca>
... and of course Bram Moolenaar <Bram(at)moolenaar.net> who comitted everything to the new release.
 

Developers, BETA testers corner

If you're already working on some correction/addon, please send some announce to vim-vms(at)polarhome.com list, to minimise task overlaps.

Developers' resources:http://www.polarhome.com/vim/files/developers
Vim on VMS archive: http://www.polarhome.com/vim/files or ftp://ftp.polarhome.com/pub/vim/
HOWTO build on VMS: INSTALLvms.txt
Recent Vim source code:http://vim.sourceforge.net/cvsdocs/ - CVS is DEPRECATED by the Vim development team
Recent Vim source code:https://github.com/vim/vim - Github
Recent Vim source code :http://www.polarhome.com/cvs (downloadable compressed packages) - CVS mirror is DEPRECATED by Vim development team
Recent Vim source code:http://www.polarhome.com/svn (downloadable compressed packages) - Subversion mirror is DEPRECATED by Vim development team
Recent Vim source code:http://www.polarhome.com/hg (downloadable compressed packages) - Mercurial mirror.
Recent Vim source code:http://www.polarhome.com/git (downloadable compressed packages) - Git mirror - PREFERED by the Vim deveopment team
Patches: http://www.polarhome.com:793/pub/mirrors/ftp.vim.org/pub/vim/patches/
Last patch changes : README

Official Changes (from OpenVMS point of view)

Recent changes
- make necessary changes to build v8.2 on VMS
- work on the test scripts

Version 8.1
- make necessary changes to build v8.1 on VMS
- GTK1.2.10 on VAX

Version 8.0
- solve the 100% cpu usage issue while waiting for a keystroke
- correct the VMS warnings and erros around handeling the INFINITY (used in json.c)
- minor VMS port related changes
- correct the make_vms.mms file for 8.0
- fix <.testdir>make_vms.mms for 8.0

Version 7.4 (2013 Aug 10)
- Undo: VMS can not handle more than one dot in the filenames use "dir/name" -> "dir/_un_name"
add _un_ at the beginning to keep the extension
- correct swap file name wildcard handling
- handle iconv usage correctly
- do not optimize on vax - otherwise it hangs compiling crypto files
- fileio.c fix a comment
- correct RealWaitForChar
- after 7.4-119 use different functions lib$cvtf_to_internal_time because Alpha and VAX have
G_FLOAT but IA64 uses IEEE float otherwise Vim crashes
- guard against crashes that are caused by mixed filenames
- [TESTDIR]make_vms.mms changed to see the output files
- Improve tests, update known issues
- minor compiler warnings fixed
- CTAGS 5.8 +regex included
- dividing with 0 bug fixed
- [TESTDIR]make_vms.mms changed to see the output files
- minor compiler warnings fixed

Version 7.3 (2010 Aug 15)
- CTAGS 5.8 included
- VMS compile warnings fixed
- floating-point overflow warning corrected on VAX
- filepath completition corrected - too many chars were escaped in filename and shell commands
- the following plugins are included into VMS runtime:
genutils 2.4, multiselect 2.2, multvals 3.1, selectbuf 4.3,
bufexplorer 7.1.7, taglist 4.5
- minor changes in vimrc (just in VMS runtime)
- make_vms.mms - HUGE model is the default
- [TESTDIR]make_vms.mms include as many tests possible
- modify test30 and test54 for VMS
- enable FLOAT feature in VMS port
- os_vms.txt updated

Version 7.2 (2008 Aug 14)
- VCF files write corrected
- CTAGS 5.7 included
- corrected make_vms.mms (on VAX gave syntax error)

Version 7.1 (2007 Jun 15)
- create TAGS file from the menu

Version 7 (2006 May 8)
- Improved low level char input (affects just console mode)
- Fixed plugin bug
- CTAGS 5.6 included

Version 6.4 (2005 Oct 15)
- GTKLIB and Vim build on IA64
- colors in terminal mode
- syntax highlighting in terminal mode
- write problem fixed (extra CR)
- ESC and ESC sequence recognition in terminal mode
- make file changed to support new MMS version
- env variable expansion in path corrected
- printing problems corrected
- help text added for case insensitive arguments

Version 6.3 (2004 May 10)
- Improved vms_read function
- CTAGS v5.5.4 included
- Documentation corrected and updated

Version 6.2 (2003 May 7)
- Corrected VMS system call results
- Low level character input is rewritten
- Correction in tag and quickfix handling
- First GTK build
- Make file changes
    - GTK feature added
    - Define for OLD_VMS OpenVMS version 6.2 or older
- Documentation updated with GTK features
- CTAGS v5.5 included
- VMS VIM tutor created

Version 6.1 (2002 Mar 25)
- TCL init_tcl() problem fixed
- CTAGS v5.4 included
- GNU tools binaries for OpenVMS
- Make file changes
    - PERL, PYTHON and TCL support improved
    - InstallVMS.txt has a detailed description HOWTO build
- VMS/Unix file handling rewritten
- Minor casting and bug fixes

Version 6.0(2001 Sep 28)
- Unix and VMS code has been merged
    - separated "really" VMS related code
    - included all possible Unix functionality
    - simplified or deleted the configuration files
    - makefile MAKE_VMS.MMS reviewed
- menu changes (fixed printing, CTAGS and XXD usage)
- fixed variable RMS record format handling anomaly
- corrected syntax, ftplugin etc files load
- changed expand_wildcards and expandpath functions to work more general
- created OS_VMS_FILTER.COM
- DECC->VAXC pre-processor directive convert script.
- Improved code's VAXC and new DECC compilers compatibility
- changed quickfix parameters:
    - errormessage format to suite DECC
    - search, make and other commands to suite VMS system
- updated and renamed MMS make files for Vim and CTAGS.
- CTAGS has been removed from source distribution of Vim but it will remain in OpenVMS binary distributions.
- simplified build/configuration procedure
- created INSTALLvms.txt - detailed compiling instructions under VMS.
- updated test scripts.

Version 5.8(2001 Jun 1)
- OS_VMS.TXT updated with new features.
- other minor fixes.
- documentation updated
- this version had been tested much more than any other OpenVMS version earlier.

Version 5.7 (2000 Jun 24)
- New CTAGS v5.0 in distribution
- Documentation updated

Version 5.6 (2000 Jan 17)
- VMS filename related changes:
    - version handling (open everything, save to new version)
    - correct file extension matching for syntax (version problem)
    - handle <,> characters and passwords in directory definition
    - handle internode/remote invocation and editing with passwords
    - OpenVMS files will be treated case insensitive from now
- corrected response of expand("%:.") etc path related functions (in one word: VMS directory handling internally)
- version command
    - corrected (+,-) information data
    - added compiler and OS version
    - added user and host information
    - resolving $VIM and $VIMRUNTIME logicals
- VMS port is in MAX_FEAT (maximum features) club with Unix, Win32 and OS/2.
    - enabled farsi, rightleft etc. features
    - undo level raised up to 1000
- Updated OS_VMS.MMS file.
    - maximum features ON is default
    - Vim is compilable with +perl, +python and +tcl features.
    - improved MMK compatibility
- Created MAKEFILE_VMS.MMS, makefile for testing Vim during development.
- Defined DEC terminal VT320
    - compatibility for VT3*0, VT2*0 and VT1*0 - ANSI terminals backwards, but not VT340 and newer with colour capability.
    - VT320 is default terminal for OpenVMS
    - these new terminals are also fast ttys (default for OpenVMS).
    - allowed dec_mouse ttym
- Updated files vimrc and gvimrc with VMS specific suggestions.
- OS_VMS.TXT updated with new features.

Version 5.5 (1999 Dec 3)
- Popup menu line crash corrected.
- Handle full file names with version numbers.
- Directory handling (CD command etc.)
- Corrected file name conversion VMS to Unix and v.v.
- Correct response of expand wildcards
- Recovery is working from this version under VMS as well.
- Improved terminal and signal handing.
- Improved OS_VMS.TXT

Version 5.4 (1999 Sep 9)
- Cut and paste mismatch corrected.
- Motif directories during open and save are corrected.

Version 5.3 (1998 Oct 12)
- Minor changes in the code
- Standard distribution with +GUI option

Version 5.1 (1998 Apr 21)
- Zoltan Arpadffy takes over the VMS port
- Syntax and DEC C changes in the code
- Fixing problems with the /doc subdirectory
- Improve OS_VMS.MMS

Version 4.5 (1996 Dec 16)
- First VMS port by Henk Elbers <henk@xs4all.nl>
 

Discussion list

vim-vms list is a very low traffic announce list for new releases, page updates, developer's notes etc.
To subscribe go to: http://www.polarhome.com/mailman/listinfo/vim-vms
List archive can be found at http://www.polarhome.com/pipermail/vim-vms/

Please, note that old list vim-vms(at)polarfox.com moved to vim-vms(at)polarhome.com to achieve better functionality, spam controll and subscriber privacy.

Please, answer the following questions in order to achieve better optimization of development, prioritization of bugs and executables.

What platform and OpenVMS version do you use?

VAX - 7.1 or older
VAX - 7.2 or newer
Alpha - 7.2 or older
Alpha - 7.3 or newer
Itanium - 8.0 or newer
I do not use OpenVMS
I do not know

In what mode do you use Vim on OpenVMS?

Console mode
GUI/Motif
GUI/GTK
Mixing
I don't use Vim

Last Modified: Sun, Feb 9, 2020.
Zoltan Arpadffy (arpadffy(at)polarhome.com)


Polarhome, production since 1999.
http://www.polarhome.com/vim/
Member of Polarhome portal.

Vote for polarhome
Free Shell Accounts :: the biggest list on the net